02時03分38秒この記事は4年ほど前に投稿された記事です。この記事の内容は古くなっている可能性があります。更新日時にご注意ください。※2つの記事を統合しました。終わりにサンプルコード改版履歴はじめにArduinoでグラフィック液晶などを利用する場合に漢字を表示したい。漢字はなくともせめてひらがなだけでも...。思う時もあるかもしれません。そこで今回はArduinoで文字コードから漢字パターンを取得してみたいと思います。必要なものSDカードシールドFONTX形式のフォントファイルネット上にフリーの既存フォントが多く存在していますし。エディタや変換ツールも存在します。(Windows用)ホビーユースでは気にする必要はないでしょうが、他人の作ったフォントを流用したり、変換する場合はフォントファイルのライセンスにご注意ください。漢字を表示する方法についてAndroidは基本的には英文をメインに使います。使う文字といえばASCIIコード前半の文字のみを使う場合が多く。この場合はFONTを使うよりもパターンを書いてしまったほうが早いのですが。日本人としては漢字を、せめてひらがなやカタカナくらいは使いたいと思うことも多いと思います。カタカナだけでいいのであればキャラクタ液晶を使ったほうが手っ取り早いし簡単です。何かの図形や画像などを同時に処理をしたいときはフォントを使う必要があります。表示される文字が固定されている場合はそちらも画像で作ってもいいのでしょうが。何かの情報や不定な文字列を表示しようとするとやはりフォントを使う必要があります。Arduinoで使える文字コードについて基本的にはUTF-8をメインで使います。UTF-8では扱いにくいのでShift-JISやJISコードを使用したいところであります。UTF-8以外を使う場合、メニューを別ファイルにして読み込むか、”\”を付けて文字コードを個別に指定してあげる必要があります。文字コードを自由に扱える環境を親とし、Arduinoを子として利用し、シリアル通信で送ってやるという方法を取る必要があります。シリアル通信で漢字を扱うハードウェアの前にシリアル通信で漢字を扱ってみたいと思います。いっても、Arduinoのスケッチの文字コードはUTF-8であり、特に何らかの制限をしているわけではないので。単純にパソコンとの通信でArduinoからのデータ転送時に日本語を表示したいだけであればパソコン側でシリアルモニタではなく端末エミュレータを使用し、文字コードをUTF-8に変更してやるだけでとりあえず表示することはできます。Arduinoのシリアルモニタのエンコードは「Shift_JIS」になっているので、UTF-8のままだと文字化けしてしまいます。いうわけでシリアルモニタで漢字を表示してやるならShift_JISで文字コードを転送してしまえばOKという事になります。文字コードがUTF-8なArduinoスケッチでShift_JISを表示するにはエスケープ文字を使います。「桜」という漢字のShift_JISコードは「0x8DF7」となるのでこれを1バイトずつエスケープ文字を入れて表記することでShift_JISの文字コードで文字を表示できます。