PDF 内部構造 テキスト 新しいページはコチラ
提供: yonewiki
(→ /DescendantFonts :/W) |
(→/DescendantFonts) |
||
899行: | 899行: | ||
4行目は数字が3つ続く形式で1番目の数字から2番目の数値が文字番号の範囲で、3つめがグリフ幅の値を指定している。したがって103~128番の文字番号がグリフ横幅1024となる。範囲指定が楽。他の行も同じく。 | 4行目は数字が3つ続く形式で1番目の数字から2番目の数値が文字番号の範囲で、3つめがグリフ幅の値を指定している。したがって103~128番の文字番号がグリフ横幅1024となる。範囲指定が楽。他の行も同じく。 | ||
+ | |||
+ | |||
+ | ====== ''' /DescendantFonts :/DW''' ====== | ||
+ | 1グリフ毎の縦幅に関するデフォルト値。全グリフに適用される2つの整数値を持つ配列。規定値は[880 -1000]。横書きの設定も生かしつつ、縦書きをするための仕組みとして、v というベクトルを考える。vは横書き原点<span>(</span>ベースラインの右端<span>)</span>を縦書き原点<span>(</span>文字の水平の真ん中の上の頂点<span>)</span>に移すベクトルとして、そのベクトルのx成分は文字幅の半分。つまり、/W あるいは /DWで設定した値の半分。例えば文字幅が2024なら半分の1024。y成分を指定する値の一つとして表現する。そして、vによって移った原点を真下に送る値をもう一つの指定値で表現する。以下のように座標値を数式で表現できる。ベクトルのyは上方向がプラス、xは右方向がプラスとすると | ||
+ | |||
+ | |||
+ | v= <span>(</span>x座標量 = 文字幅/2, y座標量 = vのyの大きさ<span>) | ||
+ | |||
+ | |||
+ | 縦書きのy方向への移動量をベクトルw1で表現するとx座標量は常に0で | ||
+ | |||
+ | w1 = (x座標量 = 0, y座標量 = w1のyの大きさ) | ||
+ | |||
+ | と書ける。このときのvのyの大きさとw1のyの大きさを指定すると縦書きに必要な移動量が決まるため、/DW2では、この2つの値の整数値を設定した配列をオペランドで指定する。規定値の | ||
+ | |||
+ | |||
+ | /DW2 [880 -1000] | ||
+ | |||
+ | は、上方向に880em移動したところを原点に下方向に1000em移動することを意味する。あたらしく決まった原点にたいして、次の文字を縦書きになるように新しい文字の幅の真ん中を中心にして、文字の縦幅の上の頂点が重なるように配置していく。ということを意味している。 | ||
+ | |||
+ | |||
+ | 配列の最初の値が大きいほど上の文字との近づく。その次の値が大きいと文字幅が小さくなり次の文字が詰まってくる。そういうイメージだ。 | ||
+ | |||
+ | |||
+ | /W2では、ベクトルvのxの大きさも指定するので、/Wと/DWのように同じ意味の引数になっていない関係に注意したいところ。 | ||
+ | |||
+ | |||
+ | |||
+ | ====== ''' /DescendantFonts :/W2''' ====== | ||
+ | 指定グリフ毎の縦幅の値。全グリフに適用される配列整数値。規定値はなし。但しDW2の値は適用される。以下のような形式をとる。単位はem | ||
+ | |||
+ | <Syntaxhighlight2 lang="text" line=1> | ||
+ | /W2 | ||
+ | [ | ||
+ | 100 [ -1000 500 880 -1024 512 884 -1000 500 880] | ||
+ | 103 128 -1024 512 884 | ||
+ | 160 223 -1024 512 884 | ||
+ | 33088 40956 -2048 1028 2048 | ||
+ | 57408 64508 -2048 1028 2048 | ||
+ | ] | ||
+ | </syntaxhighlight2> | ||
+ | |||
+ | 3行目は100 が そのあとの配列の1・2・3番目で縦文字幅を調整、配列が残り二つあるので、101から連番で101が4・5・6番目で、102が7・8・9番目のように割り当てられる。個別指定が楽。DW2とW2とで引数の数が異なりW2の方が3つで一つ多い、DW2の2番目の値がW2の例の一番最初の値と同じ。DW2の最初の値がW2の例の3番目と同じ。2番目は v ベクトルのxの座標量も指定している。文字の中心をこの辞書で個別に設定していけることを意味している。 | ||
+ | |||
+ | 4行目は数字が5つ続く形式で1番目の数字から2番目の数値が文字番号の範囲で、のこりの3つがグリフ幅の値を指定している。したがって103~128番の文字番号がグリフ縦幅上に884em移動して中心は512emとなり、文字幅として-1024を移動するような動作をするグリフ群となる。この方法は範囲指定が楽。他の行も同じ動きで記述されていく。 | ||
+ | |||
====== ''' /DescendantFonts :/Subtype''' ====== | ====== ''' /DescendantFonts :/Subtype''' ====== |