aboutsummaryrefslogtreecommitdiff
path: root/ja/man/man5/groff_font.5
blob: af5110dcdf6582cd14b1c465d7340b56fbf50f45 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
.\" jpman %Id: groff_font.5,v 1.3 1998/08/09 15:05:21 ryo2 Stab %
.\" FreeBSD jpman project 訳語表
.\" WORD: machine unit	マシン単位
.\" WORD: scaled point	スケールドポイント (troff.1 の記述にあわせた)
.\" WORD: font position	フォント位置 (troff.1 の記述にあわせた)
.\" WORD: mount		マウント
.ig \"-*- nroff -*-
Copyright (C) 1989-1995 Free Software Foundation, Inc.

Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
are preserved on all copies.

Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the
entire resulting derived work is distributed under the terms of a
permission notice identical to this one.

Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for modified
versions, except that this permission notice may be included in
translations approved by the Free Software Foundation instead of in
the original English.
..
.de TQ
.br
.ns
.TP \\$1
..
.\" Like TP, but if specified indent is more than half
.\" the current line-length - indent, use the default indent.
.de Tp
.ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP
.el .TP "\\$1"
..
.TH GROFF_FONT 5 "7 September 1996" "Groff Version 1.10"
.SH 名称
groff_font \- groff のデバイスとフォントを記述するファイルの書式
.SH 解説
groff のフォントの書式は ditroff のフォントの書式に対し、
ほぼスーパセットになっています。
ditroff のフォントの書式とは異なり、
関連したバイナリ書式はありません。
.I name
というデバイス用のフォントファイルは
.BI dev name
というディレクトリに納められます。
ファイルには 2 つの種類があります: それは
.B DESC
と呼ばれるデバイス記述ファイルと、各フォント
.I F
ごとに存在する
.IR F
と呼ばれるフォントファイルです。
これらはテキストファイルであり、関連したバイナリ書式の
ファイルはありません。
.SS DESC ファイルの書式
DESC ファイルは以下の形式の行を含むことができます:
.TP
.BI res\  n
1 インチあたりのマシン単位は
.I n
です。
.TP
.BI hor\  n
水平解像度は
.I n
マシン単位です。
.TP
.BI vert\  n
垂直解像度は
.I n
マシン単位です。
.TP
.BI sizescale\  n
ポイント数への倍率を指定します。デフォルトの値は 1 です。1
.I スケールドポイント
は、1
.RI ポイント/ n
と等しくなります。
.B unitwidth
コマンドと
.B sizes
コマンドへの引数はスケールドポイントで指定されます。
.TP
.BI unitwidth\  n
ポイントサイズが
.I n 
スケールドポイントのフォントに対して、
フォントファイル毎の数量をマシン単位で与えます。
.TP
.B tcommand
ポストプロセッサが
.B t
と
.B u
の出力コマンドを扱えることを表します。
.TP
.BI sizes\  s1\ s2\|.\|.\|.\|sn\  0
デバイスが
.IR s1 ,
.IR s2 ,\|.\|.\|.\| sn
スケールドポイントのフォントを持つことを表します。
大きさのリストは
.BR 0
で終らなければなりません。
各
.BI s i
は大きさの範囲
.IR m \- n
でも指定できます。
リストは複数行にわたることも可能です。
.TP
.BI styles\  S1\ S2\|.\|.\|.\|Sm
先頭
.I m
個のフォント位置が、スタイル
.IR S1\|.\|.\|.\|Sm
に関連づけられます。
.TP
.BI fonts\  n\ F1\ F2\ F3\|.\|.\|.\|Fn
フォント
.I F1\|.\|.\|.\|Fn
がフォント位置
.IR m +1,\|.\|.\|., m + n
にマウントされます(
.I m
はスタイル数)。
このコマンドは複数行にわたることができます。
.B 0
というフォント名を指定すると、
対応するフォント位置にはフォントはマウントされません。
.TP
.BI family\  fam
デフォルトのフォントファミリは
.IR fam
です。
.TP
.B charset
この行とファイル内の以下に続く行はすべて無視されます。
これは下位互換性のために許されています。
.LP
res, unitwidth, fonts, sizes の行は必須です。
他のコマンドは
.B troff
には無視されますが、デバイスに関する任意の情報を DESC ファイルに
入れておくためにポストプロセッサにより使われるかもしれません。
.SS フォントファイルの書式
フォントファイルには 2 つのセクションがあります。
最初のセクションは空白で区切られた単語が並んだ一連の行からなります。
行の最初の単語はキーで、以降の単語はそのキーに対する値となります。
.TP
.BI name\  F
フォントの名前は
.IR F
です。
.TP
.BI spacewidth\  n
空白の通常の幅は
.IR n
です。
.TP
.BI slant\  n
フォントの文字が
.I n
度傾斜していることを表します (正の値は進行方向を意味します)。
.TP
.BI ligatures\  lig1\ lig2\|.\|.\|.\|lign\ \fR[ 0 \fR]
文字
.IR lig1 ,
.IR lig2 ,\|.\|.\|., lign
は合字 (リガチャ; ligature) です。合字には
.BR ff ,
.BR fi ,
.BR fl ,
.BR ffl
が使用可能です。
下位互換性のために、合字のリストは
.BR 0
で終ってもかまいません。
合字のリストは複数行にわたってはいけません。
.TP
.B special
フォントは
.IR スペシャル
です。これは現在のフォントに存在しない文字が要求された場合、
マウントされた全てのスペシャルフォントが検索されることを示しています。
.LP
他のコマンドは
.B troff
には無視されますが、フォントに関する任意の情報をフォントファイルに
入れておくためにポストプロセッサにより使われるかも知れません。
.LP
最初のセクションには
.B #
文字ではじまるコメントを、行末まで入れることができます。
.LP
次のセクションには 1 つか 2 つのサブセクションが含まれます。
サブセクション
.I charset
は必須で、サブセクション
.I kernpairs
はオプションです。
これらのサブセクションは任意の順番で書くことができます。
各サブセクションは、サブセクション名のみからなる行から始まります。
.LP
単語
.B charset
で charset サブセクションを開始します。
.B charset
行には一連の行が続きます。
各行は 1 文字の情報を与えます。
行は空白かタブにより区切られたいくつかのフィールドから成ります。
書式は
.IP
.I
name metrics type code comment
.LP
で、
.I name
は文字を識別します:
.I name
が単一の文字
.I c
ならば、それは groff の入力文字
.I c
を表します。
.BI \e c
という形式で c が単一の文字なら、groff の入力文字
.BI \e c
を表します。それ以外は groff の入力文字
.BI \e[ name ]
を表します (2 文字の
.I xx
だとすると、
.BI \e( xx
として入力されます) 。
groff は 8 ビット文字に対応していますが、いくつかのユーティリティでは
8 ビット文字を扱うのが困難です。
このような理由から、文字コードが
.I n
である単一の文字と等価な
.BI char n
という表記法が存在します。
例えば、
.B char163
は ISO Latin-1 で英国ポンド記号を表す文字コード 163 の文字と等価です。
.B \-\-\-
という name は特別で、その文字に名前が無いことを示します。
そのような文字は
.BR troff
中でエスケープシーケンス
.B \eN
によってのみ使われます。
.LP
.I type
フィールドは文字の種類を示します:
.TP
1
は descender (ベースラインより下にはみ出した部分) を持つ
文字であることを表します。例えば p があてはまります。
.TP
2
は ascender (x の高さより上に出る部分) を持つ文字であることを表します。
例えば b があてはまります。
.TP
3
は ascender と descender の両方を持つ文字であることを表します。
例えば ( があてはまります。
.LP
.I code
フィールドはポストプロセッサが文字を印字するために使うコードを示します。
.B \eN
というエスケープシーケンスを用いたこのコードを使って、groff に文字を
入力することもできます。
code はどんな整数でもかまいません。
.B 0
から始まると、8 進数として扱われ、
.B 0x
や
.B 0X
で始まると 16 進数として扱われます。
.LP
行の code フィールド以降はすべて無視されます。
.LP
.I metrics
フィールドの形式はこのようになります:
.IP
.IR width [\fB, height [\fB, depth [\fB, italic_correction [\fB, \
left_italic_correction [\fB, subscript_correction ]]]]]
.LP
サブフィールド間には空白を入れてはいけません。
サブフィールドが存在しない場合は 0 として扱われます。
サブフィールドは全て 10 進数の整数で指定されます。
対応するバイナリフォーマットが存在しないので、
ditroff のようにこれらの値を
.B char
型変数の範囲に合わせるという必要はありません。
サブフィールド
.I width
では文字の幅を指定します。
サブフィールド
.I height
では文字の高さを指定します (上が正)。
文字がベースラインよりも上にいかない場合、負の高さを持つとするのではなく
高さが 0 であるとします。
サブフィールド
.I depth
では文字の深さを指定します。これはベースラインから文字の一番下までの
長さです (下が正) 。
文字がベースラインより下に出ていない場合、負の深さを持つとするのではなく
深さが 0 であるとします。
サブフィールド
.I italic_correction
では直後にローマンフォントの文字が続く時に、文字の後に加えられる空白の
量を指定します。
サブフィールド
.I left_italic_correction
では直前にローマンフォントの文字がある時に、文字の前に加えられる空白の
量を指定します。
サブフィールド
.I subscript_correction
では添字 (subscript) を加える際に文字の後に加えられる空白の量を
指定します。
これはイタリック補正 (上記の italic_correction) よりは少なくなければ
なりません。
.LP
charset セクション内では、以下のような書式の行も可能です
.IP
.I
name \fB"
.LP
これは
.I name
が前の行で言及した文字の別名であることを表します。
.LP
kernpairs セクションは
.B kernpairs
という単語から始まります。このセクションは以下のような書式の
行からなります:
.IP
.I
c1 c2 n
.LP
文字
.I c1
が文字
.I c2
の次に現れる時には、それらの間の空白に
.IR n
を加えることを意味します。
kernpairs セクションのほとんどのエントリは
.IR n
に負の値を持つことになります。
.SH 関連ファイル
.Tp \w'/usr/share/groff_font/devname/DESC'u+3n
.BI /usr/share/groff_font/dev name /DESC
デバイス
.IR name
用のデバイス記述ファイル
.TP
.BI /usr/share/groff_font/dev name / F
デバイス
.IR name
のフォント
.I F
用のフォントファイル
.SH 関連項目
.BR groff_out (5),
.BR troff (1).