たまりば

パソコン・インターネット パソコン・インターネット三鷹市 三鷹市

5×5ドットフォント完成版
2009年12月10日 01:03

5×5ドットフォントを以前作っていたが、最初のはひらがなだけの1バイトフォントで、次のは画像として描いただけでフォントファイルにする方法は分からなかった。
それが今回やっと、きちんとWindowsで使えるフォントファイルとして完成した。

そもそもがひらがなを5×5ドットで描けるかというのが製作動機であったので、フォント名はKanaFive(カナファイブ)とした。
ただし、折角なのでカナ・かなだけでなく、めぼしい文字をいろいろ詰め込んである。
とりあえずJIS2004の非漢字は5×5ドットで描ける限り入れ、他にもUnicodeの記号で描けそうなものは積極的に入れた。
例えば、
▸数学記号
∃∇∏∓∖∫≤⊣ℵ
▸星座や占星術の記号
☼☽☾☿♀♁♂♃♄♅♆♇♈♉♊♋♌♍♎♏♐♑♒♓
▸八卦
☰☱☲☳☴☵☶☷
▸大文字エスツェット

といったところである。
KanaFiveサンプル
なお、前回からいくつか修正した文字がある。
変更点
「あ」が「お」に見えたり、「き」と「を」の区別が付かなかったりしたのを改善したつもり。特に「を」は自信作。
「ゑ」はなんで前回この形を思いつかなかったのか不思議なくらいだ。
「ぼ」と「ぽ」は前回のとどっちがいいかまだ迷っている。


ビットマップフォントなので、決まったサイズで見ないと見えない。Windowsなら、5ポイントで見ると多分見えるはず。
ただ、TTFファイルの仕様(というかWindowsでのTTFの扱いの仕様)はよく分からなくて、ビットマップだけだと正常に表示できないようなので色々と変なことをしている。
・アウトラインを入れておかないと正常に使えないようなので、ダミーとして小さな点を描いておいた。
・「一」(漢数字1)のグリフがないとWordで日本語フォントとして扱われないという噂を聞いたので描いておいた。
・アウトラインが小さすぎるとビットマップの方も欠ける現象が見られたので一文字だけ大きくしておいた。
・フォント名をそのフォントで表示するソフトで見えないのが不便なので「K」「a」「n」「F」「i」「v」「e」の7字だけやる気のないアウトラインを描いておいた。

WindowsXP環境でチェックしているが、きっと他のWindowsやLinuxやOSX以降のMacでも使えると思う。

ダウンロードはこちら。KanaFive.zip

--- 2013/03/03追記

こちらのサイトに紹介されていました。
【とびだせ どうぶつの森】けーねのとび森日記RX PART.8 これは便利!マイデザインに使えるドット文字フォント
ここによれば、MacOSXでは一部の文字が表示されないそうである。検証環境が無いため、おそらく対応はしません。

あと、6ドット漢字フォント「KanSix」の方がどちらかというと自信作なのでこっちも紹介してほしかったなーなどと。

--- 2018/03/12追記
画像も置いときます。
KanaFive画像
大きめのも。
KanaFive画像_×4
適当に置換してプログラムで使いやすい感じのテキストも。
ひらがな清音
_@___
@@@_@
_@_@_
@_@_@
@@__@
-----
@__@_
@___@
@___@
@_@_@
_@___
-----
_@@__
@@@@_
____@
____@
_@@@_
-----
_@@__
@@@@@
___@_
_@@__
@__@@
-----
_@___
@@@_@
_@___
@@@@_
@@__@
-----
_@_@_
@@@_@
_@_@_
_@_@_
@__@_
-----
@@@@_
_@@@@
___@_
@____
_@@@_
-----
__@@_
_@___
@____
_@___
__@@_
-----
@__@_
@_@@@
@__@_
@__@_
@__@_
-----
_@@@_
___@_
_____
@____
_@@@@
-----
__@__
@@@@@
___@_
@____
_@@@@
-----
@____
@____
@____
@___@
_@@@_
-----
___@_
@@@@@
_@_@_
__@@_
___@_
-----
_@_@_
@@@@@
_@_@_
_@___
__@@_
-----
_@__@
___@_
@@@@@
_@___
__@@@
-----
_@___
@@@__
_@_@@
@____
@_@@@
-----
_@___
@@@@@
_@@@_
____@
_@@@_
-----
@@@@_
____@
____@
____@
__@@_
-----
@@@@@
___@_
__@__
__@__
___@@
-----
@__@_
@_@__
_@___
@____
_@@@@
-----
_@___
@@_@@
___@_
_@@@@
_@@@_
-----
@_@@@
@____
@____
@_@__
@__@@
-----
@___@
_@@@_
@_@_@
@@_@@
___@@
-----
_@___
@@@@_
_@__@
@@_@@
_@_@@
-----
_@@@_
@_@_@
@_@_@
@_@_@
_@@__
-----
@__@_
@_@@@
@__@_
@_@@@
@_@@_
-----
@@___
_@_@@
@__@_
@__@_
_@@__
-----
_@@__
_____
__@__
@_@_@
@_@_@
-----
_____
_@@__
@__@_
____@
_____
-----
@_@@@
@__@_
@_@@@
@__@_
@_@@@
-----
@@@@@
_@@@_
__@__
@@@@_
@@@_@
-----
@@___
_@_@_
_@@@@
@@_@_
@@_@_
-----
_@___
@@@_@
_@___
@@__@
_@@@_
-----
@___@
_@@@_
@@_@@
@_@_@
@@__@
-----
@@@__
_@___
@@@__
_@__@
__@@_
-----
_@__@
@@@@_
_@__@
_@___
_@___
-----
_____
_____
_____
_____
_____
-----
@_@__
@@@@_
@_@_@
@_@_@
@_@@_
-----
_____
_____
_____
_____
_____
-----
__@__
__@@@
__@__
@@@@_
@@@_@
-----
@_@@_
@____
@@@@_
____@
@@@@_
-----
@___@
@___@
@@__@
____@
__@@_
-----
@@@@@
__@@_
____@
@@__@
@@@@_
-----
_@___
@@@@_
_@_@_
@@_@_
_@_@@
-----
@@@@@
__@@_
____@
@___@
_@@@_
-----
_@___
@@@@_
_@__@
@@__@
_@__@
-----
@@___
_@@@_
@@__@
@@_@@
@@_@@
-----
_____
_____
_____
_____
_____
-----
_@@@_
___@_
_@@_@
_@@@_
@_@_@
-----
_@@__
@@__@
__@@_
_@_@_
_@@@@
-----
_@___
_@___
@____
@@__@
@_@@_
-----
@_@__
@_@__
_____
_____
_____
-----
@@___
@@___
_____
_____
_____
-----
_____
_____
_____
_____
_____
-----
_____
_____
_____
_____
_____
-----
ひらがな特殊
_____
_@___
@@@_@
_@_@_
@@@_@
-----
_____
@__@_
@___@
@___@
_@___
-----
_____
_@@__
@@@@_
____@
_@@@_
-----
_____
_@@__
@@@@@
__@__
@@_@@
-----
_____
_@__@
@@@__
_@@@@
@@@_@
-----
__@_@
_@_@_
@@@__
_@_@_
@__@_
-----
@@@_@
@@@@_
__@__
@____
_@@@_
-----
__@_@
_@___
@____
_@___
__@@_
-----
____@
@__@_
@_@@@
@__@_
@__@_
-----
@@@_@
__@__
_____
@____
_@@@_
-----
_@__@
@@@@_
__@__
@____
_@@@_
-----
@__@@
@____
@____
@___@
_@@@_
-----
__@_@
@@@@_
@_@__
_@@__
__@__
-----
@_@_@
@@@@_
@_@__
@____
_@@__
-----
@_@_@
__@__
@@@@_
_@___
__@@_
-----
_@__@
@@@__
_@_@@
@____
@_@@@
-----
_@__@
@@@@_
_@@__
___@_
_@@__
-----
____@
@@@@_
____@
____@
__@@_
-----
@@@@@
___@_
__@_@
__@__
___@_
-----
@___@
@_@__
_@___
@____
_@@@@
-----
_____
_____
_____
_____
_____
-----
_____
_____
_____
_____
_____
-----
_____
_____
@@@__
___@_
__@__
-----
_____
_____
_____
_____
_____
-----
_____
_____
_____
_____
_____
-----
@___@
@_@@_
@__@_
@_@@@
@_@@_
-----
@@__@
_@___
@__@@
@__@_
_@@__
-----
_@@_@
_____
__@__
@_@_@
@_@_@
-----
____@
_@@__
@__@_
____@
_____
-----
@_@_@
@__@_
@_@@@
@__@_
@_@@@
-----
@__@@
@_@@@
@__@_
@_@@@
@_@@_
-----
@@_@@
_@_@@
@____
@__@@
_@@__
-----
_@_@@
___@@
__@__
@_@_@
@_@_@
-----
___@@
___@@
_@@__
@__@_
____@
-----
@_@@@
@__@@
@_@@_
@__@_
@_@@@
-----
_____
_@__@
@@@@_
_@__@
_@___
-----
_____
_____
_____
_____
_____
-----
_____
@_@__
@@@@_
@_@_@
@_@_@
-----
_____
_____
_____
_____
_____
-----
_____
__@__
__@@@
@@@__
@@@@_
-----
_____
_____
_____
_____
_____
-----
_____
_____
_____
_____
_____
-----
_____
_____
_____
_____
_____
-----
_____
_____
_____
_____
_____
-----
_____
_____
_____
_____
_____
-----
_____
_____
_____
_____
_____
-----
_____
_____
_____
_____
_____
-----
_@@_@
@@@__
___@_
___@_
_@@__
-----
_____
_____
_____
_____
_____
-----
_____
_____
_____
_____
_____
-----
_____
_@_@_
@@@_@
_@__@
@@__@
-----
_____
_____
_____
_____
_____
-----
_____
_____
_____
_____
_____
-----
_____
_@___
__@__
___@_
__@__
-----
___@@
_@___
__@__
___@_
__@__
-----
カタカナ清音
@@@@@
__@_@
__@@_
__@__
_@___
-----
____@
__@@_
@@@__
__@__
__@__
-----
__@__
@@@@@
@___@
____@
_@@@_
-----
_@@@_
__@__
__@__
__@__
@@@@@
-----
___@_
@@@@@
__@@_
_@_@_
@__@_
-----
_@___
@@@@@
_@__@
_@__@
@__@@
-----
__@__
@@@@@
__@__
@@@@@
__@__
-----
_@@@@
_@__@
@___@
____@
__@@_
-----
_@___
_@@@@
@__@_
___@_
_@@__
-----
@@@@@
____@
____@
____@
@@@@@
-----
_@_@_
@@@@@
_@_@_
___@_
__@__
-----
@@___
_____
@@__@
___@_
@@@__
-----
@@@@_
___@_
__@__
_@_@_
@___@
-----
_@___
@@@@@
_@__@
_@___
__@@@
-----
@___@
_@__@
____@
___@_
_@@__
-----
_@@@@
_@__@
@_@@@
____@
_@@@_
-----
_@@@_
__@__
@@@@@
__@__
_@___
-----
@_@_@
@_@_@
____@
___@_
_@@__
-----
_@@@_
_____
@@@@@
__@__
__@__
-----
@____
@____
@@@__
@__@@
@____
-----
__@__
@@@@@
__@__
__@__
_@___
-----
_@@@_
_____
_____
_____
@@@@@
-----
@@@@@
____@
_@_@_
__@__
@@_@@
-----
__@__
@@@@@
____@
_@@@_
@_@_@
-----
___@_
___@_
___@_
__@__
_@___
-----
__@__
___@_
@___@
@___@
@___@
-----
@____
@@@@@
@____
@____
_@@@@
-----
@@@@@
____@
____@
___@_
_@@__
-----
_____
_@___
@_@__
___@_
____@
-----
__@__
@@@@@
__@__
@_@_@
@_@_@
-----
@@@@@
____@
_@_@_
__@__
___@_
-----
@@@@_
_____
_@@@_
_____
_@@@@
-----
__@__
_@___
@____
@___@
@@@@@
-----
____@
__@_@
___@_
__@_@
@@___
-----
@@@@_
_@___
@@@@_
_@___
__@@@
-----
_@___
@@@@@
_@__@
_@___
_@___
-----
_____
_____
_____
_____
_____
-----
@@@@_
___@_
___@_
___@_
@@@@@
-----
_____
_____
_____
_____
_____
-----
@@@@@
____@
_@@@@
____@
@@@@@
-----
_@@@_
_____
@@@@@
____@
_@@@_
-----
_@__@
_@__@
_@__@
____@
__@@_
-----
__@__
@_@__
@_@_@
@_@_@
@_@@_
-----
@____
@____
@___@
@__@_
@@@__
-----
@@@@@
@___@
@___@
@___@
@@@@@
-----
@@@@@
@___@
____@
____@
_@@@_
-----
___@_
@@@@@
_@_@_
@@@@@
___@_
-----
_____
_____
_____
_____
_____
-----
@@@@@
__@_@
__@@_
__@__
@@@@@
-----
@@@@@
____@
@@@@@
____@
__@@_
-----
@@___
_____
____@
___@_
@@@__
-----
_____
@____
_@@@@
_____
_____
-----
_____
_____
_____
_____
_____
-----
_____
_____
_____
_____
_____
-----
_____
_____
_____
_____
_____
-----
カタカナ特殊
_____
@@@@@
__@_@
__@@_
_@___
-----
_____
____@
@@@@_
__@__
__@__
-----
_____
__@__
@@@@@
@___@
__@@_
-----
_____
_@@@_
__@__
__@__
@@@@@
-----
_____
___@_
@@@@@
_@_@_
@__@_
-----
_@_@@
@@@@_
_@_@_
_@_@_
@__@_
-----
_@_@@
@@@@_
_@___
@@@@_
_@___
-----
___@@
_@@@_
@__@_
___@_
_@@__
-----
_@_@@
_@@@_
@_@__
__@__
_@___
-----
___@@
@@@@_
___@_
___@_
@@@@_
-----
@_@_@
@@@@_
@_@__
__@__
_@___
-----
@@_@@
_____
@@__@
___@_
@@@__
-----
___@@
@@@@_
___@_
__@__
@@_@_
-----
_@_@@
@@@@_
_@_@_
_@___
__@@_
-----
@__@@
_@_@_
___@_
__@__
_@___
-----
___@@
_@@@_
@__@_
__@@_
_@@__
-----
@@@_@
_@___
@@@@_
_@___
@____
-----
___@@
@_@__
@_@_@
____@
_@@@_
-----
_@@_@
_____
@@@@@
__@__
_@___
-----
@__@@
@____
@@@__
@__@@
@____
-----
_____
_____
_____
_____
_____
-----
_____
_____
_____
_____
_____
-----
_____
@_@_@
@_@_@
____@
_@@@_
-----
_____
_____
_____
_____
_____
-----
_____
_____
_____
_____
_____
-----
___@@
__@__
@__@_
@___@
@___@
-----
@__@@
@@@@_
@____
@____
_@@@@
-----
___@@
@@@@_
___@_
___@_
_@@__
-----
___@@
_@___
@_@__
___@_
____@
-----
__@_@
@@@@_
__@__
@_@_@
@_@_@
-----
___@@
___@@
@_@__
@__@_
@___@
-----
@__@@
@@@@@
@____
@____
_@@@@
-----
___@@
@@@@@
___@_
___@_
_@@__
-----
___@@
_@_@@
@_@__
___@_
____@
-----
___@@
@@@@@
__@__
@_@_@
@_@_@
-----
_____
_@___
@@@@@
_@__@
_@___
-----
_____
_____
_____
_____
_____
-----
_____
@@@@_
___@_
___@_
@@@@@
-----
_____
_____
_____
_____
_____
-----
_____
@@@@@
_@@@@
____@
@@@@@
-----
_____
_____
_____
_____
_____
-----
_____
_____
_____
_____
_____
-----
_____
_____
_____
_____
_____
-----
_____
_____
_____
_____
_____
-----
_____
_____
_____
_____
_____
-----
____@
@@@@@
@___@
____@
__@@_
-----
___@@
@@@@_
_@_@_
@@@@@
___@_
-----
__@_@
@@@@@
@___@
____@
__@@_
-----
___@@
@@@@_
_@_@_
_@___
@@@@@
-----
___@@
@@@@_
___@_
@@@@_
___@_
-----
_____
@@@@@
@___@
____@
__@@_
-----
_____
_@___
@@@@_
_@_@_
_@_@_
-----
_____
_@___
_@@@_
@_@__
__@__
-----
_____
_@___
__@__
___@_
_____
-----
___@@
_@___
__@__
___@_
_____
-----
その他仮名
_____
_@__@
@@@_@
_@_@_
@__@_
-----
_____
@__@_
@_@@@
@__@_
@__@_
-----
__@@@
__@__
_@_@_
____@
__@@_
-----
_@@@_
___@_
___@_
___@_
___@_
-----
__@__
@@@@@
____@
___@_
_@@__
-----
@_@@_
____@
@___@
@__@_
@_@@@
-----
_____
_____
_____
_____
_____
-----
_____
_____
_____
_____
_____
-----
_____
_____
_____
_____
_____
-----
_____
_____
_____
_____
_____
-----
___@@
_@_@@
@@@_@
_@_@_
@__@_
-----
_@_@@
@@@@@
_@@@_
@____
_@@@_
-----
__@@@
_@_@@
@____
_@___
__@@_
-----
___@@
@__@@
@_@@_
@__@_
@__@_
-----
___@@
_@@@@
___@_
@____
_@@@_
-----
_____
_____
_____
_____
_____
-----
_____
_____
_____
_____
_____
-----
_____
_____
_____
_____
_____
-----
_____
_____
_____
_____
_____
-----
_____
_____
_____
_____
_____
-----
_____
_@@@@
_@__@
@___@
__@@_
-----
_____
@@___
____@
@@_@_
@@@__
-----
_____
@@@@@
___@_
__@__
@@_@@
-----
_____
@____
@____
@@@@@
@____
-----
_____
@@@@@
_@__@
__@@_
@@__@
-----
_____
__@__
___@_
@___@
@___@
-----
_____
@____
@@@@@
@____
_@@@@
-----
_____
@@@@@
____@
___@_
_@@__
-----
_____
_____
_@@__
@__@_
____@
-----
_____
__@__
@@@@@
__@__
@_@_@
-----
_____
_@___
@____
@___@
@@@@@
-----
_____
_@@@_
@@@@@
____@
__@@_
-----
_____
_@__@
_@__@
____@
___@_
-----
_____
__@__
@_@__
@_@_@
@_@@_
-----
_____
@____
@___@
@__@_
@@@__
-----
_____
@@@@@
@___@
@___@
@@@@@
-----
_____
___@@
@@@@@
___@_
_@@__
-----
_____
_____
_____
_____
_____
-----
_____
_____
_____
_____
_____
-----
_____
_____
_____
_____
_____
-----
___@@
_@_@@
@@@@_
_@_@_
@__@_
-----
_@_@@
@@@@@
_@___
@@@@_
_@___
-----
___@@
_@@@@
@__@_
___@_
__@__
-----
___@@
_@_@@
_@@@_
@_@__
__@__
-----
___@@
@@@@@
___@_
___@_
@@@@_
-----
@__@@
@@@@@
@_@__
@____
_@@__
-----
___@@
@_@@@
@_@_@
____@
__@@_
-----
@__@@
@__@@
@@@__
@__@@
@____
-----
_____
_____
_____
_____
_____
-----
_____
_____
_____
_____
_____

これらを置こうとしたきっかけについてはこちらを参照のこと。

--- 03/23編集
新しく書いた記事にリンクを張った。
画像を1字(わ)修正。修正前はこちら。 → //img01.tamaliver.jp/usr/w/e/n/wentwayup/KanaFive_image_0312.png  

  • MSゴシック改造_その2
    2009年12月09日 18:35

    以前「MSPゴシック半濁点パッチ」を作ったが、その続きである。
    少し前の記事にFontForgeを導入したらうまく保存できなかったと書いたが、色々設定を変えていたら一応できるようになった。

    前回から変わったところは次のとおりである。

    ・新たにビットマップを描いた
    バイナリ書き換えでは既にあるビットマップを編集することしかできなかったが、FontForgeを使うことで今までビットマップの無かった文字に新たにビットマップを付けることができる。
    そこで「ゔか゚き゚く゚け゚こ゚カ゚キ゚ク゚ケ゚コ゚セ゚ツ゚ト゚ㇷ゚ㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ」と「㉑~㊿」に新たにビットマップを描いた。
    これは「ゔか゚き゚く゚け゚こ゚カ゚キ゚ク゚ケ゚コ゚セ゚ツ゚ト゚」までは既存の清音を元に描けばよいので比較的楽だが、他は予想以上に面倒だった。もうやりたくない。
    あと、ク゚とケ゚の区別を付けるのがなかなか大変である。
    新規文字
    …こうしてみると結構描き忘れがあるなあ。

    ・一部の文字の領域を広げた
    バイナリ書き換えでは既にドットがある領域しか編集できなかったので、たとえば「ぺ」の半濁点が下に来すぎたり単独の半濁点「゜」がそのままだったりしたが、これが改善した。
    ペ

    ・小さいサイズまで4×4ピクセルの半濁点にした
    こんな感じ。かなり無理をしても読めるものである。
    巨大半濁点

    ・小サイズのビットマップを拡充した
    8ドット(余白込みで9ドット)の恵梨沙フォントと7ドット(同8ドット)の美咲フォントを合成した。
    恵梨沙フォント
    美咲フォント
    また、7,8,9ドットの半角英数を新たに描いた。
    これで小サイズでも文字が読めるようになった。
    小サイズ

    ・MSPだけでなくMSとMSUIも描き換えた
    ただ、新たにビットマップを描くのは面倒なのでこちらはさぼり気味。

    -----
    ただ、改善ばかりでもなく、色々と不都合なことも起こった。

    ・一部の文字が1ドットずれる
    読み込みの際か書き込みの際か分からないが、ビットマップが時々1ドットずれる。
    文字幅が1ドット少なくなったり、文字幅は同じでも中の文字が1ドットずれていることもある。
    幅の狭い文字が被害にあいやすいようで、小サイズのアルファベットで顕著である。隣の文字とくっついて読みづらい。
    幅の異常
    8ptの英小文字。上がオリジナル、下が今回のもの。
    ひらがなでもまれに起こる。例えば9ptMSUIで「しばしば」と書くとくっつく。
    しばしば

    ・縦書き文字が正常に出せなくなる
    標準では保存に失敗するので設定を変えたのだが、それで縦書き用グリフへのリンク指定が破壊されたようである。グリフ自体は残っているので一つ一つリンクを張りなおせば戻せるだろうが面倒である。
    なお「か゚」などの合字の指定も破壊されたが、こちらは数が少なかったので復元した。

    それぞれ「㍍→あー。」と打ってある。文字送りの幅も異常

    ・ファイルサイズが巨大になる
    本来、TTCファイルは複数のTTFファイルの共通部分を統合して小さいファイルサイズで複数のフォントを扱えるのだが、いじっていたらこれができなくなり普通にMS・MSP・MSUIの3つ分足したファイルサイズになってしまった。
    2ちゃんねるを読むと同様の状況に対して「一致するテーブルがないんだからサイズを減らせるわけがない」と書かれていたがよく分からない。→「2のフォントがおかしい件について part1」393-395
    このため今回はパッチを配布することができない。
    (ついでに恵梨沙フォントのライセンスが再配布を禁じているのも理由)


    とりあえずかなり理想に近いものができたが、まだ色々と分からないこともあるのでさらに調べるつもり。
    もしかしたらそのうちパッチ配布できる形になるかもしれない。9ドットも美咲にすればライセンス的にはそんなに問題ないはず。(MSゴシックを書き換えること自体の問題がよく分からない)

    余談だが、これが完成したのでEeePCのフォントファイルをUbuntuのLiveUSBを使って書き変えたのだが、その影響でEeePCのWindowsが起動しなくなってしまった。その話はまた次回。

    -----

    ◆今日の例文◆
    ・日本国憲法前文より抜粋
    ・有名な英字パングラム  
    タグ :フォント