日本語漢字ビットマップフォント、東雲フォントについて

東雲フォントの元リンク/efont/さんのページがリンク切れになってしまいました。
別途、私の方で東雲フォントのダウンロード先を以下に掲載しておきました。
復旧次第削除するかも知れませんのでご了承ください。
2018/07/31

 

ここでは、フリーの日本語漢字ビットマップフォント、東雲フォントについてザッと説明します。

東雲フォントは当ブログでは何度も使わせて頂いております。
このブログ内検索をかけていただくと、かなり多量のページが出てくると思います。

私の電子工作およびプログラミングには無くてはならないものになっています。

改めて紹介させていただくと、東雲(しののめ)フォントは古川泰之さん原作のビットマップフォント で、保守・開発を /efont/ さんが引き継いでいたものです。
ライセンスは、Public Domain です。

現在では開発が止まっているようですが、半角 6×12 pixel ~ 16×16 pixel まであって、十分過ぎる内容です。
こういうものは電子工作家にとって、とても有難いものです。

こんな素晴らしいフォントを無料で使わせて頂けるなんて、古川さんや /efont/ さんに感謝せずにいられません。
ありがとうございます。
m(_ _)m

以下、Windows 10 パソコンで説明します。

スポンサーリンク

BDF形式フォントについて

東雲フォントは BDF 形式フォントです。
テキストエディタでフォント情報を読み取ることができて、大変便利です。

下図は、東雲フォント
shnmk16.bdf
をテキストエディタで開いて、「あ」という文字情報のところを見た様子です。

shinonome_font14.jpg


このように、JISコードアドレスや、ビットマップ情報が分かって、どこにどの文字があるのか一発で検索できます。
ただし、バイナリ形式よりも多くのメモリを消費しています。

「あ」という文字のビットマップで、最初の2byteコードは、
0200
となっていて、16進数表記です。
BDF形式の場合、これを上位ビットと下位ビットに分けて、

上位ビット: 0x02
下位ビット: 0x00

分けます。
それをそれぞれ2進数に変換すると、

上位ビット: 00000010
下位ビット: 00000000

になります。
1になっているところが、文字を表示させる 1 ピクセルになります。
要するに、下図の様に表示されるわけです。

shinonome_font15.jpg


bz2形式ファイルのダウンロード方法

2018/07/31現在では、元リンクのページがリンク切れを起こしているようです。
このフォントは保守開発を終えているようで、元リンクページが復旧しないかも知れません。
その場合、私の以下の GitHub ページからダウンロードしてください。
https://github.com/mgo-tec/SDcard_sample_filses
これから ZIPファイルをダウンロードしていただき、解凍した/font/フォルダの中に東雲フォントがあります。
これはbz2から解凍済みです。
半角フォントの shnm8x16.bdf ファイルは、元ファイルのファイル名の末尾’r’文字を消去して名前を変えてあります。

以下、リンクが復活した場合のダウンロード方法と思って下さい。
2018/07/31

 

元リンクは以下のページです。

http://openlab.ring.gr.jp/efont/shinonome/

「2004-09-15 0.9.11 リリース」というリンクから、

shinonome-0.9.11p1.t..

というファイル名リンクをクリックすると、

shinonome-0.9.11p1.tar.bz2

というbz2 形式の圧縮ファイルがダウンロードされます。
4.7MBくらいあります。

bz2 形式ファイルの解凍

bz2 形式というのは、圧縮されたファイルを更に高密度で圧縮されたファイルです。
ですから、解凍ソフトによっては2回解凍する必要があります

私の場合は、Windwos の Unpacker というフリーソフトを使いました。
Windows Store アプリから、無料でインストールできます。

shinonome_font01.jpg


インストールすると、下図の様なアイコンになっているので、
shinonome-0.9.11p1.tar.bz2
ファイルをダブルクリックします。

shinonome_font02.jpg


すると、下図の様なウィンドウが開くので、下の「Unpack」をクリックします。

shinonome_font03.jpg


すると、下図の様になるので、
「Unpack Entire Archive」
をクリックします。

shinonome_font04.jpg


すると、下図の様に1回目の解凍が始まり、終了したら、「OK」をクリックして、ウィンドウを閉じます。

shinonome_font05.jpg


すると、ダウンロードしたフォルダに
「Unpacker」
というフォルダが作成されて、そこに解凍されたファイルがあります。

shinonome_font06.jpg


そのフォルダの中の
shinonome-0.9.11p1.tar.bz2
フォルダを開きます。

shinonome_font07.jpg


その中に、tar 形式圧縮ファイルがあるので、再度、それを解凍します。

shinonome-0.9.11p1.tar

をダブルクリックします。

shinonome_font08.jpg


すると、再度、下図の様な画面になるので、「Unpack」をクリック。

shinonome_font09.jpg


再び、下図の様に、「Unpack Entire Archive」をクリック。

shinonome_font10.jpg


解凍が終了したら、下図の様に「OK」をクリックし、閉じます。

shinonome_font11.jpg


すると、「Unpacker」フォルダに、今度は tar 形式を解凍したフォルダができています。

shinonome_font12.jpg


その中の、「bdf」フォルダを開くと、解凍されたフォントファイルがあります。

shinonome_font13.jpg


当ブログで使うフォントファイルは、以下の2種類です。

【半角フォント】

shnm8x16r.bdf

【全角フォント】

shnmk16.bdf

Arduino IDE によっては、拡張子を除くファイル名が8文字以内の場合があるので注意が必要です。
半角フォントの場合は、’r’ という文字を削除して、

shnm8x16.bdf

というファイル名に変えた方が、エラーは出ない場合があります。

以上のファイルを、ESP-WROOM-32 ( ESP32 ) や M5Stack、ESP-WROOM-02 ( ESP8266 )で使用する場合は、SPIFFS ファイルシステムや micro SD カードなどに保存して使用します。

文字コードおよび変換方法について

東雲フォントは JIS コード順に並んでいます。
しかし、昨今の WEB では殆どが UTF-8 コードですので、UTF-8 コードを JIS コードに変換して、東雲フォントを読み込む必要があります。
Arduino IDE も UTF-8 です。

Arduino IDE にはそのライブラリがありませんので、私が変換テーブルを作って、ライブラリを作成しました。
変換テーブルは、JIS 並びと殆ど同じである Shift_JIS 並びで作成しました。

その変換テーブルと、自作ライブラリを組み合わせれば、Arduino IDE から東雲フォントを読み取ることができます。

以下の記事を参照してください。

OLED ( 有機EL ) SSD1306 に16×16ドットのフリーの日本語漢字、東雲フォントを表示させてみました

Adafruit 16bit color OLED ( SSD1351 )のライブラリを自作し、日本語漢字フォントを表示させてみました

ESP32 で 日本語漢字フォント をカラー OLED に表示させ、4行同時スクロール ( SSD1331 使用)

フルカラー有機EL ( OLED ) に倍角日本語フォントを縦横でスクロールさせてみた ( ESP32 , SSD1331 使用)

スポンサーリンク


Amazon.co.jp 当ブログのおすすめ
Amazon.co.jp
M5Stack Basic
スイッチサイエンス
Amazon.co.jp
ESPr Developer 32
スイッチサイエンス(Switch Science)
Amazon.co.jp
Amazon.co.jp

「日本語漢字ビットマップフォント、東雲フォントについて」への2件のフィードバック

  1. 詳細な解説をありがとうございます。

    圧縮したファイルのサーバーへのリンクができていないようです。
    入手先の情報をお持ちではないでしょうか?

    また、現在入手可能なフォントを使うことは可能でしょうか?

    1. KIMURAさん

      ご報告有難うございます。
      私も、今、リンク切れを起こしていることを初めて知りました。
      もしかしたら、東雲フォントは保守を止めているので、サイトが閉鎖された可能性があります。

      念のため、この記事中に私のGitHubのページのリンクを一時的に掲載しておきましたので、そちらをご利用ください。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください