FontForgeでの縦書き問題が解決

2014年01月06日 ― [ 日記/コンピュータ/ソフトウェア関連 ]

遂に FontForge で作成したフォントの縦書きがうまくいかないという問題が解決したらしい。

私も BBS にあったように FontForge の設定を弄ってIPAフォントを開き、幅を「等幅」から「任意」に変え、名前を変更して出力、NexusFont で仮インストールのような状態にして一太郎で試してみたが、縦書きでもきちんと句読点やダーシが回転された。

これは私が今までいくら試行錯誤をしても出来なかったことで、素晴らしい発見だと思う。有り難いことだ。

ただ、このフォントを ttfname3 で名称変更するとおかしくなる(これは ttfname 側の問題だろうけれど)。これではフォント名に日本語が使えない。Python で FontForge のスクリプトを書いて合成すればフォント名も自由に設定できるのかもしれないが、Windows 版でどうすればいいのやら。


Vine Linux 6.2 へのアップデート

2013年10月18日 ― [ 日記/コンピュータ/ソフトウェア関連 ]

Vine Linux 6.2 の正式版が出たのでアップデートした。

手順としては以下の通り。たぶん普段と同じように apt-get dist-upgrade をかければ済んだのだろうが、FireFox(もどき)とかのアップデートがあるぶんあまり起動してるソフトが多くないほうがいいかな、と思い(もしかするとこれは Windows 使いの感覚なのかもしれないのだけれど)、テキストモード(というのかは知らんけれどX-Windowを起動させずに)でやってみた。むしろこれは失敗だったと思う。

必要なファイルをダウンロードする

テキストモードでは自動でネットに繋がってくれたりしないのでとりあえずダウンロードだけ。110個のアップデートと3個の新規インストールだとかで500MB近くになった。

$ sudo apt-get -d dist-upgrade

テキストモードでログイン

/boot/grub/menu.lst にこんな感じのを追加しておいてから再起動。(註:これをコピペしてはいけない。環境によってswap領域は違うだろうから下手するとデータが飛ぶ…のかな。上にある Vine Linux (Current kernel) の設定をコピーして追加、名前を変えて quiet 3 をつければ良い。)起動時にこれを選ぶ。日本語表示のために fbterm と uim-fep をインストールしておく。

title Vine Linux (Current kernel) Text Mode
root (hd0,5)
kernel /boot/vmlinuz ro root=LABEL=/ resume=swap:/dev/sda7 vga=0x318 quiet 3
initrd /boot/initrd.img

アップデートをかける

fbterm を起動。root になったままになるので、su でいつものユーザーに変更。そのあとアップデートのコマンドを使えば、ダウンロードしておいたものを使ってアップデートしてくれる。

$ sudo apt-get -d dist-upgrade

しかし、ネットワークに繋がっていない環境だと、self-build パッケージ(3個くらい。メモするの忘れた。確かx264とffmpegともうひとつ)のインストールに失敗する。あとでネットワークに繋いでから apt-get reinstall を使えば恐らく問題ないが、面倒なだけ。よって、私のような初心者には、テキストモードでアップデートしようなどと思わないことを薦める。

効用

私は Let's Note CF-SX2 を使っているのだが、今までできなかったハイパネーション(Windows でいうところのスタンバイ)ができるようになった! 今まで Vine Linux を使っていて最も不便だったのがこれなので、解消されて嬉しい。

去年のコミケで頒布されてた「巫女ぐにょLinux 5.0」では普通にハイパネーションできたので、恐らくカーネルのバージョンが古かったのが原因。

Vine Linux は開発者が少ないため更新が遅いと言われているらしいが、やっぱり日本で開発されてるぶん、親切だし分かりやすい。これからも頑張って欲しいなと思う。

私としては目下のところ Vine Linux で困ることもなくなったので、いくら更新が遅かろうがこのパソコンが壊れるまでは使い続けたい。

追記

あとでみたら vlc が消えていたので再インストールしようとした。が、エラーが出る。

公式 BTS にあったようにして修正。

(http://trac.vinelinux.org/browser/people/munepi/scripts/check-self-build-packages.sh をダウンロードしてきて実行。fail となったものを一度全て remove してからインストールし直す。)

結構面倒だった。やっぱりオフラインでのアップデートはやめたほうが良い。


ICUなるライブラリ

2013年07月17日 ― [ 日記/コンピュータ/プログラム ]

そもそも FreeType を使うためには文字を Unicode で指定するのだが、これをどう変換するかが問題だった。Unicode が複雑そうでかつ文字列の処理はマルチバイトのほうが楽そうなために(あとついでに後方互換性のために)マルチバイト文字列(CP932?)で処理する設定にしているためだ。

調べてみると MultiByteToWideChar() なんかを使う方法が出てくるのだが、WinAPI の函数らしく、あまり使いたくない。

他を探してみると ICU なるライブラリがあった。以下のページに使い方と参考リンクが載っている。

日本語情報がちゃんとあるので使うのに苦労はなさそう。

ただ、コンパイルに Cygwin が必要というのがどうも…… デュアルブートで一応 Vine Linux を入れているのだが、そっちでビルドしてしまえないのだろうか。まあ Unix 系環境での make だとかを未だよく理解していないので Cygwin インストールした方が早いのだろうけれど。

処理元のテキストは EUC-JP がその特性上処理しやすそう。ただ、内部処理を試しに Unicode に変えてみても何もエラーが出なかった。もう Unicode にしてしまっても良いかもしれない。

話は変わりIPAmj明朝について。どうもグリフ名を指定して文字を呼び出すことさえ出来れば全文字使えるらしい。(参照:IPAmj明朝フォントの研究 - FIELD NOTES: 書を持って街へ出よう )ただ、FreeType の函数一覧を見てもそのような函数が見つけられない。可能なのだろうか。


DXライブラリでFreeType

2013年04月28日 ― [ 日記/コンピュータ/プログラム ]

DXライブラリは Windows アプリケーションとしての部分を意識せずに DirectX を使ったプログラムを作成できる素晴らしいライブラリである。

しかし、デフォルトの文字描画函数は WindowsAPI を用いたものであり、重い上にアンチエイリアスはあまり綺麗にはかからない。ついでに禁則処理などは用意されていないためもとのテキストを弄るなどしなくてはならない。

よって、Linux や Mac Type で用いられているフォントレンダリングエンジン「FreeType」で組版し、画像として出力するようなエンジンを作ってゆきたい。

[ 続きを読む ]


Unicodeページのフォント指定

2013年04月20日 ― [ 日記/コンピュータ/ホームページ関連 ]

フォント指定の変更前(上)と変更後(下)

[ 続きを読む ]

[ この記事では意見を募っておりません ]
1: 管理人 (04月20日 23時%分)
書き込みテスト