にせねこメモ

はてなダイアリーがUTF-8じゃないので移ってきました。

サブセットWebフォントを作成する(Font Squirrel Webfont Generator)

自作や自由ライセンスのフォントなど、Webフォントとして使いたいが、そのままでは容量が大きくて使いづらいことがしばしばあります。

ここで、元々のフォントに含まれている文字の中から実際に必要なものだけを取り出したサブセットフォントを作成すれば、Webフォントを使用しつつその容量を小さくすることができます。その為のソフトやサービスもあります:

などです。

しかし、これらは生成されたフォントにOpenType機能を残さないらしく、例えば「ㇷ゚」(小書きのフに半濁点)などの単独のコードポイントによって表現できない文字が適切に表示できません。
f:id:nixeneko:20150429222557p:plain
これは M+Web FONTS Subsetter で作成したWebフォントですが、赤で示した字が適切に表示できていません。

Font Squirrel Webfont Generator

そこで、 Font Squirrel の Webfont Generator を使うとOpenType機能を残したままフォントのサブセット化ができる様です。

www.fontsquirrel.com

使い方

基本的に見れば分かると思います。

f:id:nixeneko:20150429215426p:plain

  • “Upload Fonts”をクリックしアップロードするフォントを選択します。
  • “Expert...”を選択、すると細かい設定のためのフォームが表示されます


f:id:nixeneko:20150429215504p:plain
Subsetting: で“Custom Subsetting...”を選択します。


f:id:nixeneko:20150429215609p:plain
サブセットする文字を設定するためのフォームが表示されるので、サブセット後に残す文字を指定します。
今回は Single Characters にサブセット後のフォントに残す文字を入力しました。
するとSubset Preview に、サブセットに含まれる文字の一覧が表示されます。


f:id:nixeneko:20150429215657p:plain

  • OpenType Features の Keep All Features を選択します。(あるいは、必要な機能だけを Comma Feature List に書きます)
  • Agreement の Yes, the fonts I'm uploading are legally eligible for web embedding. にチェック
  • Download Your Kit をクリックするとサブセットされたフォントがダウンロードされます(数分から数十分かかるようです)


f:id:nixeneko:20150429222620p:plain
作成されたサブセットフォントではこのように正しく表示されていることがわかります。

参考になるかもしれないサイト

Font Squirrel の Webfont Generator は半手動でサブセットフォントフォントを作成できますが、動的に書き出したいときなど、次のようなページが参考になるかもしれません。

ごちうさウッドボールペンのリフィル

f:id:nixeneko:20150228205805j:plain
ご注文はうさぎですか?のグッズのウッドボールペンを購入しました。木製で、ペン軸を回転させると芯が出てくる繰り出し式のボールペンです。箱と本体に、ブロンズで作品のロゴがプリントされています。
このボールペン、名入れなどをするためのノベルティ向けの商品のようで
「木製ボールペン(木箱付)」と検索して出てくるものと同じではないかと思われます。


それなりの値段のするものではあるし、せっかくなので長く使いたいものです。インクを使い切ったら芯を交換しないといけませんが、ここで一つ問題が。説明書を読むと、芯(リフィル)について「替芯は市販の同等品をご使用ください。」としか書いてなく、そのためどのような替芯を買えばいいのかわかりません。ノベルティ用の木製ボールペンを扱っているサイトによっては替芯も売ってるところもありますが、それだけのために通販というのも……。


調べたところ、芯はどうやらクロス社のボールペンと同じタイプのようです。しかしクロスのリフィルは高いので(600円はするようです)、互換性のあるインクを探したところ、三菱鉛筆 Uni の SK-8 という替芯が同形状で安く入手できるようです(定価で税別250円。安いところだと200円を切る)。

三菱鉛筆 ボールペン替芯 SK‐8 黒

三菱鉛筆 ボールペン替芯 SK‐8 黒


という訳で、買ってきて、試しに装着してみました。
結論からいくと、問題なく使えました。ただ、しっかりとねじ込まないとペン先の出る部分が短くなってしまって書きづらく、ねじ込むのにやや力が要る感じでした。

f:id:nixeneko:20150228211032j:plain
Uni SK-8


f:id:nixeneko:20150228212251j:plain
上: 元から入っていた芯, 下: Uni SK-8


f:id:nixeneko:20150228212339j:plain
交換後


あるいは、好きなリフィルがあるなら、自分で改造してみてもいいかもしれません。軸の太さが同じであれば、長さを付け足すかあるいは削るかして調整すれば使えるはずです。
参考: CROSSにジェットストリーム - イラストレーター&絵本作家の橋本豊です

ハングル書体セミナー「韓国の文字、いろいろと。」に行ってきた

2015年2月13日に行われた、盧恩裕さんのハングル書体セミナー「韓国の文字、いろいろと。」を聞いてきました。
以下、そのメモをまとめたものです。なお、参考リンクについてはこちらで挿入したものです。間違いなどありましたらご指摘ください。

(2015/04/27追記:
また、type.centerさんのイベントレポート
イベントレポート: ハングルセミナー「韓国の文字、いろいろと。」 ● type.center
も、併せてご覧ください。スライドの写真等も掲載されています)

続きを読む

古典ギリシャ語会話表現集

古典ギリシャ語の会話表現についてまとまっているものはないか調べたのでメモ。

Webサイト

あいさつなどをまとめたもの。分量少なし。

また、ハリーポッター古典ギリシャ語版の訳者サイトも役に立つかもしれません。VocabularyやCommentaryもあり、訳の上での問題点などが載っています。

「、」「。」を「,」「.」で表示するフォントをつくる

概要

「、」「。」の文字を「,」「.」の形で表示するフォントを ttx を使って作成し、句読点として「、」「。」を使った文章を、文字列の情報に変更を加えないままで「,」「.」で表示できるようにする。

モチベーション

理系では日本語で論文を書く時には、読点としてカンマ「,」、区点としてピリオド「.」を用いることが通例である。しかし日本語入力のデフォルトはテンマルであって、カンマピリオドを使う場合はIMEの設定を変えるか、入力するキーを変える必要がある*1
私は普段パソコンで文章を書く時はテン・マル「、」「。」を使っており、カンマピリオドを使うためにわざわざ切替えるのは面倒である。そのため、最終的にカンマピリオドで文章を出力しなければならないとすると、文章の中のテンマルをカンマピリオドに置換する必要がある。

そこで、「、」「。」の文字コードをカンマピリオドで表示するようなフォントを作成することができれば、フォントをそれに置き換えるだけで、テンマルがカンマピリオドに置換された様に見える。以下では「、」「。」の文字コードをカンマピリオドで表示するようにフォントを改変する方法について述べる。

やること

今回はフォントの中の cmap を変更した。 cmap とは文字コードをフォント内のグリフで表示するために使われる、Unicode値からフォント内のグリフの内部IDへの割当てである。この割当てを変更すれば、表示されるグリフを変えることができる。

今回関係がある文字とUnicodeの値は以下のようになっている。

U+3001 IDEOGRAPHIC COMMA
U+3002 IDEOGRAPHIC FULL STOP
U+FF0C FULLWIDTH COMMA
U+FF0E FULLWIDTH FULL STOP

U+3001で表示されるグリフをコンマのものに、U+3002で表示されるグリフをピリオドのものに変更できればよい。

用意するもの

今回は、IPAex明朝に ttx を使って変更を加えることにする。今回はWindowsにて行ったが、MacLinuxでも同様にできるはずである。

手順

ttxファイルの作成

コマンドプロンプトでIPAex明朝のフォントファイルと同じディレクトリに移動し、以下のようにコマンドを実行する。

ttx ipaexm.ttf

すると、 ipaexm.ttx ファイルができあがる。これはttfファイルに含まれる情報をテキストベース記したXMLファイルで編集が容易であり、同じ ttx コマンドによってttfファイルに戻すことができる。

ttxファイルの編集

このttxファイルをテキストエディタなどで開く。すると、

      <map code="0xff0c" name="aj636"/><!-- FULLWIDTH COMMA -->
      <map code="0xff0e" name="aj637"/><!-- FULLWIDTH FULL STOP -->

と書かれている部分がある。ここから、「,」(0xff0c)のグリフは“aj636”、「.」(0xff0e)のグリフは“aj637”に結びつけられていることわかる。

また、別のところに次のように書かれている部分がある。(一箇所だけではない)

      <map code="0x3001" name="aj634"/><!-- IDEOGRAPHIC COMMA -->
      <map code="0x3002" name="aj635"/><!-- IDEOGRAPHIC FULL STOP -->

これを次のように変更する。

      <map code="0x3001" name="aj636"/><!-- IDEOGRAPHIC COMMA -->
      <map code="0x3002" name="aj637"/><!-- IDEOGRAPHIC FULL STOP -->

要するに、「、」(0x3001)「。」(0x3002)の文字コードに対して「,」「.」のグリフを示すように変更している。
この変更をファイル内の別の部分についても行う。(自分がやった時には三箇所あった)

変更した後に保存する。

ttfファイルの生成

ttx ipaexm.ttx

を実行すると ipaexm#1.ttf などの名前でフォントファイルが生成され、これが求めるフォントファイルである。
これを普通のIPAex明朝のフォントファイルと置換えるとテンマルがコンマピリオドで表示されるようになる。

まとめ

  • 「、」「。」の文字を「,」「.」の形で表示するフォントを作成する方法を示した。句読点として「、」「。」を使った文章を、文字列の情報に変更を加えないままで「,」「.」の図形で表示できるようになった。
  • この方法によって作成したフォントを埋め込んだPDFでは、画面上では「,」「.」として表示されるが選択してコピーしテキストエディタなどに貼り付けると「、」「。」となる文字が存在する。これは文字コードとしては「、」「。」を保持しているからで、このことが問題になる場合もあるかもしれない。
  • フォントを改変することになるので、フォントのライセンスによってはこの方法は使用することができない。
  • (2015/02/10追記)「、」と「,」および「。」と「.」の形を区別して使っているテキストには用いることができない。句読点以外に使われる例もあり、注意が必要

*1:親指シフト(NICOLA)では「、。」と「.,」は別キーに割り当てられていて打ち分けることができる。また漢直入力用のソフトである漢直Winではモード切替で「、。」と「,.」の入力を切替ることができる

ATOK & やまぶきR による親指シフト

今まで Windows親指シフト(NICOLA)を利用するのに Japanist 2003 を使っていたのですが、いかんせん変換精度が高くないので、乗り換えようと思いました。

64 bit Windows に対応した親指シフトエミュレータ

現在は Windows 7 の 64 bit を使っているのですが、 64 bit に対応した親指シフトエミュレータには

があるようです。
今回はやまぶきRを使うことにしました。

設定

次のサイトを参考に設定を行いました。
Windows 7を親指シフト化 (やまぶきR) | Netsphere Laboratories

このページにある配列定義ファイル「やまぶきR用NICOLAレイアウト」をダウンロードして使用しました。

設定

これが最適かは分かりませんが、現在の設定です。

  • 「配列」タブ
    • 「配列定義ファイル」にダウンロードした定義ファイルを指定
  • 親指シフト」タブ

問題点

ここで、MS-IME等ではうまく親指シフト入力ができるのですが、ATOKの体験版をインストールして使ってみたところ、変換後確定前に次の文字を入力すると変換した文字が確定されず、次に変換ボタンを押しても新しく入力した部分は変換されず以前入力した部分の変換の次候補が出てきます。

これは、やまぶきRの設定の問題らしく、やまぶきRの方のブログのコメントにも同様の症状を経験した人の投稿がなされています。それに対する回答によると

やまぶきややまぶきRでは、三通りの方法で入力情報を送ることができ、配列定義ファイルの記述で使い分けることができます。

き or ki → キー入力情報を送る
'き' → IMEに文字情報を送る
"き" → IMEを飛ばしてウィンドウの方に文字情報を送る

確定されない症状は、二番目の方法で送っているとなる可能性があるのですが、どうでしょうか?

http://yamakey.seesaa.net/article/365444348.html

とのこと。前述のサイトの設定ファイルでは 'き' の形で記述されていたので、この情報の送り方ではATOKにはこちらが望むような処理ができないようです。

配列ファイルの変更

というわけで、ATOKでも利用できるように前述の配列定義ファイルを改変しました。これを以下に載せておきます。現在はこれを使用しています。

;NICOLA配列
;http://nicola.sunicom.co.jp/spec/kikaku.htm


[ローマ字シフト無し]
1,2,3,4,5,6,7,8,9,0,'-','^','¥'
.,ka,ta,ko,sa,ra,ti,ku,tu,',','、','゛'
u,si,te,ke,se,ha,to,ki,i,nn,':','〃'
'.',hi,su,fu,he,me,so,ne,ho,/,'\'

[ローマ字左親指シフト]
'!','”','#','$','%','[',']','<','>','『','』','@','々'
la,e,ri,lya,re,pa,di,gu,du,pi,'“','{'
wo,a,na,lyu,mo,ba,do,gi,po,'+',';','}'
lu,-,ro,ya,li,pu,zo,pe,bo,xwa,'_'

[ローマ字右親指シフト]
?,'/',~,[,],'&','’',(,),無,'=',' ̄','|'
'ゐ',ga,da,go,za,yo,ni,ru,ma,le,'‘','゜'
vu,zi,de,ge,ze,mi,o,no,lyo,ltu,'*','…'
'ゑ',bi,zu,bu,be,nu,yu,mu,wa,lo,無

[ローマ字小指シフト]
!,”,#,$,%,&,’, (,),無,=,~,|
Q,W,E,R,T,Y,U,I,O,P,‘,{
A,S,D,F,G,H,J,K,L,+,*,}
Z,X,C,V,B,N,M, <,>,?,_

後々自分なりにカスタマイズするかもしれません。

2015/01/11追記

Japanist で使っていたものに近い配列に変更して使っています。主に数字段について、左右親指シフトによって同じ記号が入力されるようにしました。ただし、完全に Japanist のものと互換となっている訳ではありません。

;NICOLA配列
;http://nicola.sunicom.co.jp/spec/kikaku.htm


[ローマ字シフト無し]
1,2,3,4,5,6,7,8,9,0,'-','^','¥'
.,ka,ta,ko,sa,ra,ti,ku,tu,',','、','゛'
u,si,te,ke,se,ha,to,ki,i,nn,':','〃'
'.',hi,su,fu,he,me,so,ne,ho,/,'\'

[ローマ字左親指シフト]
?,'/',~,[,],'[',']',(,),'『','』',' ̄','|'
la,e,ri,lya,re,pa,di,gu,du,pi,'“','{'
wo,a,na,lyu,mo,ba,do,gi,po,'+',';','}'
lu,-,ro,ya,li,pu,zo,pe,bo,xwa,'_'

[ローマ字右親指シフト]
?,'/',~,[,],'[',']',(,),'『','』',' ̄','|'
'ゐ',ga,da,go,za,yo,ni,ru,ma,le,'‘','゜'
vu,zi,de,ge,ze,mi,o,no,lyo,ltu,'*','…'
'ゑ',bi,zu,bu,be,nu,yu,mu,wa,lo,'_'

[ローマ字小指シフト]
!,”,#,$,%,&,’, (,),無,=,' ̄',|
Q,W,E,R,T,Y,U,I,O,P,‘,{
A,S,D,F,G,H,J,K,L,+,*,}
Z,X,C,V,B,N,M, <,>,?,_