C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 135 を表示中)
■79408 / )  Re[2]: 外字印字のフォント
□投稿者/ furu (52回)-(2016/03/31(Thu) 14:12:43)
No79407 (魔界の仮面弁士 さん) に返信

>>外字の例
>>  じゃんけんのグー(U+270A)
>>  吉野家のつちよし(U+20BB7)
>
> それらは外字では無いですよね…?
>

魔界の仮面弁士さん、失礼しました。

外字の定義を書くべきでした。

例を挙げたので大丈夫だと思っていましたが
ここでの外字とは、いわゆる機種依存文字の事で
一部のフォントでは文字化けしてしまう文字です。

ですので、すべてコード範囲にあり
フォントを変えれば印字できるかもしれない文字です。

>>2.ある文字が印字できるフォントを検索
>
> これってコードポイントの話でしょうか。それともグリフの話?
>
> たとえば、Webdings などの記号フォントをどう扱うのか、
> "a" の文字を "A" の字形でレンダリングするフォントをどうするか、
> フォントリンクを考慮するのか、合字判定をどうするか、
> JIS90フォントとJIS2004フォントの差異などなど、いろいろと
> 考えうる条件はありますが、いずれにしろ簡単では無いように思います。
>

いろいろ考えると難しいので、単純に未登録ならば印字不可という判断で
いきたいと思います。例えば、「つちよし」が「吉」で印字されてもOK。
とにかく「・」,「 」,「●」,「?」で印字されると困ります。

> それはフォントリンクの働きですね。
> 下記の場所で定義されています。
>
> HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink
>

調べてみます。


>
> ただこの方法も、OS や .NET のバージョンで動作が変わるので、
> 厳密なチェックにはなりません。厳密な判定が必要な場合は
> 変換テーブルを用意するのが確実だと思います。
>

何が来るかわからないので、変換テーブルは難しいです。

返信 編集キー/


管理者用

- Child Tree -