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
|
<HTML>
<HEAD>
<!-- Created with AOLpress/2.0 -->
<!-- AP: Created on: 27-Jan-2003 -->
<!-- AP: Last modified: 21-Apr-2006 -->
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
<!--<TITLE>Building accented glyphs</TITLE> -->
<TITLE>アクセントつきグリフの組み立て方</TITLE>
<LINK REL="icon" href="../../_static/fftype16.png">
<LINK REL="stylesheet" TYPE="text/css" HREF="FontForge.css">
</HEAD>
<BODY>
<DIV id="in">
<H1 ALIGN=Center>
<!--Tutorial #4 -->
チュートリアル (その 4)
</H1>
<UL>
<LI>
<!-- <A HREF="editexample.html#FontCreate">Font Creation</A>-->
<A HREF="editexample.html#FontCreate">フォントの作成</A>
<LI>
<!-- <A HREF="editexample.html#CharCreate">Creating a glyph (tracing outlines)</A>-->
<A HREF="editexample.html#CharCreate">グリフの作成 (アウトラインのトレース) 法</A>
<LI>
<!-- <A HREF="editexample2.html#Navigating">Navigating to other glyph</A>-->
<A HREF="editexample2.html#Navigating">他のグリフの呼び出し方</A>
<LI>
<!-- <A HREF="editexample2.html#Creating-o">On to the next glyph (consistent
directions)</A>-->
<A HREF="editexample2.html#Creating-o">次のグリフに関して (矛盾のないパスの向き)</A>
<LI>
<!-- <A HREF="editexample3.html#consistent-stems">Consistent serifs and stem
widths</A>-->
<A HREF="editexample3.html#consistent-stems">統一のとれたセリフとステムの太さ</A>
<LI>
<!-- <A HREF="editexample4.html#accents">Building accented glyphs</A>-->
<A HREF="editexample4.html#accents">アクセントつきグリフの組み立て方</A>
<LI>
<!-- <A HREF="editexample4.html#ligature">Building a ligature</A>-->
<A HREF="editexample4.html#ligature">合字の組み立て方</A>
<LI>
<!-- <A HREF="editexample5.html#metrics">Examining metrics</A>-->
<A HREF="editexample5.html#metrics">メトリックの確認法</A>
<LI>
<!-- <A HREF="editexample5.html#Kerning">Kerning</A>-->
<A HREF="editexample5.html#Kerning">カーニング</A>
<LI>
<!-- <A HREF="editexample6.html#Variants">Glyph variants</A>-->
<A HREF="editexample6.html#Variants">異体関係にあるグリフ</A>
<LI>
<!-- <A HREF="editexample6.html#Marks">Anchoring marks</A>-->
<A HREF="editexample6.html#Marks">アンカーマーク</A>
<LI>
<!-- <A HREF="editexample6-5.html#Conditional">Conditional features</A>-->
<A HREF="editexample6-5.html#Conditional">条件つき機能</A>
<LI>
<!-- <A HREF="editexample7.html#checking">Checking your font</A>-->
<A HREF="editexample7.html#checking">フォントのチェック法</A>
<LI>
<!-- <A HREF="editexample7.html#generating">Generating it</A>-->
<A HREF="editexample7.html#generating">フォントの出力方法</A>
<LI>
<!-- <A HREF="editexample7.html#Families">Font Families</A>-->
<A HREF="editexample7.html#Families">フォントファミリー</A>
<LI>
<!-- <A HREF="editexample7.html#summary">Final Summary</A>-->
<A HREF="editexample7.html#summary">最後のまとめ</A>
<LI>
<!-- <A HREF="scripting-tutorial.html">Scripting Tutorial</A> -->
<A HREF="scripting-tutorial.html">スクリプト処理のチュートリアル</A>
<LI>
<!-- <A HREF="scriptnotes.html#Special">Notes on various scripts</A>-->
<A HREF="scriptnotes.html#Special">各種の用字系における注意点</A>
</UL>
<H2>
<!--<A NAME="accents">Building</A> accented glyphs -->
アクセントつきグリフの<A NAME="accents">組み立て方</A>
</H2>
<P>
<!--
Latin, Greek and Cyrillic all have a large complement of accented glyphs.
FontForge provides several ways to build accented glyphs out of base glyphs. -->
ラテン文字、ギリシャ文字およびキリル文字はすべて大量の補助的なアクセントつきグリフを含んでいます。
FontForge は、基底グリフ (base glyphs) からアクセントつきグリフを組み立てる方法をいくつか提供しています。
<P>
<!--
The most obvious mechanism is simple copy and paste:
<A HREF="editmenu.html#Copy">Copy</A> the letter "A" and
<A HREF="editmenu.html#Paste">Paste</A> it to "Ã" then
<A HREF="editmenu.html#Copy">copy</A> the tilde accent and
<A HREF="editmenu.html#PasteInto">Paste it Into</A> "Ã" (note Paste
Into is subtly different from Paste. Paste clears out the glyph before pasting,
while Paste Into merges what was in the glyph with the what is in the clipboard).
Then you open up "Ã" and position the accent so that it appears properly
centered over the A. -->
いちばん分かりやすいメカニズムは単純なコピー&ペーストです:
グリフ“A”を<A HREF="editmenu.html#Copy">コピー</A>して“Ôに<A HREF="editmenu.html#Paste">貼り付け</A>、次にチルダアクセントを<A HREF="editmenu.html#Copy">コピー</A>して“Ôに<A HREF="editmenu.html#PasteInto">追加貼り付け</A>します。(追加貼り付けが貼り付けとは微妙に異なることに注意してください)。
<CODE>貼り付け(<U>P</U>)</CODE> コマンドは貼り付けの前に文字を消去しますが、<CODE>追加貼り付け</CODE> コマンドは、その文字の元の内容にクリップボードの中身を付け加えます)。
それから“Ôを開いてアクセントの位置を調整し、A の真上に中心が来るようにします。
<P>
<!--
This mechanism is not particularly efficient, if you change the shape of
the letter "A" you will need to regenerate all the accented glyphs built
from it. FontForge has the concept of a
<A HREF="overview.html#References">Reference</A> to a glyph. So you can Copy
a Reference to "A", and Paste it, the Copy a Reference to tilde and Paste
it Into, and then again adjust the position of the accent over the A. -->
このメカニズムは、文字“A”の形を変更した場合には、特に非効率になります。その文字から組み立てられたすべてのアクセントつきグリフを構築し直さなければなりません。FontForge にはグリフへの<A HREF="overview.html#References">参照</A>という概念があります。ですから、A への参照をコピーし、貼りつけ、チルダへの参照をコピーして追加貼りつけし、それから A の上のアクセントの位置を再調整するという手順が使えます。
<P>
<!--
Then if you change the shape of the A the shape of the A in "Ã" will
be updated automagically - - as will the width of "Ã". -->
その後で A の形を変更しても、“Ôに含まれる A の形や“Ôの文字幅を、勝手に更新してくれます。
<P>
<!--
But FontForge knows that "Ã" is built out of "A" and the tilde accent,
and it can easily create your accented glyphs itself by placing the references
in "Ã" and then positioning the accent over the "A". (Unicode provides
a database which lists the components of every accented glyph (in Unicode)).-->
しかし FontForge は“Ôが“A”とチルダアクセントから造られていることを知っているので、これらの参照を“Ôに自動配置し、アクセントを“A”の真上に揃えることにより、アクセントつきグリフを簡単に作成することができます (Unicode 規格は、Unicode に含まれる各アクセントつきグリフの構成要素を列挙したデータベースを提供しています)。
<P>
<!--
As an example, open the file: tutorial/Ambrosia.sfd, then select all the
glyphs at encodings 0xc0-0xff, and then press
<A HREF="elementmenu.html#Accented">Element->Build->Build Accented</A>
all the accented characters will magically appear (there are a few characters
in this range which are not accented, and they will remain blank). -->
例えば、ファイル <CODE>tutorial/Ambrosia.sfd</CODE> を開き、符号位置が 0xc0〜0xff の範囲にあるすべてのグリフを選択して <A HREF="elementmenu.html#Accented"><CODE>エレメント(<U>L</U>)</CODE>→<CODE>組み立て(<U>U</U>)</CODE>→<CODE>アクセントつきグリフを構築(<U>B</U>)</CODE></A> を押せば、すべてのアクセントつき文字がお任せで現れます (この範囲にはアクセントつき文字でない物が数文字ありますが、それらは空白のままになります)。
<P>
<!--
FontForge has a heuristic for positioning accents (most accents are centered
over the highest point of the glyph), sometimes this will produce bad results
(if the one of the two stems of "u" is slightly taller than the other the
accent will be placed over it rather than being centered over the glyph),
so you should be prepared to look at your accented glyphs after creating
them. You may need to adjust one or two (or you may even want to redesign
your base glyphs slightly). -->
FontForge はアクセントの位置を決める経験的方法 (ほとんどのアクセントはグリフの最も高い位置を中心として、その上に配置する) を用いますが、時々これは悪い結果を招きます (もし“u”の 2 つのステムの片方がもう片方よりもわずかに高ければ、アクセントはグリフの中央の上に来ないで高いステムの上に来てしまいます) ので、アクセントつきグリフを作成した後は、目で確かめる心構えが必要です。
<H2>
<!--<A NAME="ligature">Creating</A> a ligature -->
合字の<A NAME="ligature">作成</A>
</H2>
<P>
<!--
Unicode contains a number of ligature glyphs (in latin we have: Æ,
OE, fi, etc. while in arabic there are hundreds). Again Unicode provides
a database listing the components of each standard ligature. -->
Unicode には多数の合字グリフが含まれています (ラテン文字では Æ, OE, fi などです。アラビア文字では数百にも及びます)。これに関しても、Unicode は各標準の合字の構成要素を列挙するデータベースを提供しています。
<P>
<!--
FontForge cannot create a nice ligature for you, but what it can do is put
all the components of the ligature into the glyph with
<A HREF="elementmenu.html#Accented">Element->Build->Build Composite</A>.
This makes it slightly easier (at least in latin) to design a ligature. -->
FontForge があなたのために美しい合字を作ってくれることは不可能ですが、<A HREF="elementmenu.html#Accented"><CODE>エレメント(<U>L</U>)</CODE>→<CODE>組み立て(<U>U</U>)</CODE>→<CODE>複合グリフを構築(<U>C</U>)</CODE></A> を用いれば、その合字のすべての構成要素を 1 個のグリフ上に配置することが可能です。
これで、合字のデザインが (少なくともラテン文字では) 少しは楽になります。
<TABLE BORDER CELLPADDING="2">
<CAPTION>
<!-- Steps to building a ligature-->
合字組み立てのための手順
</CAPTION>
<TR>
<TD><P ALIGN=Center>
<!-- <IMG src="../../_images/ffi-refs.png" ALT="ffi ligature as references" WIDTH="154" HEIGHT="277"></TD> -->
<IMG src="../../_images/ffi-refs.png" ALT="参照による ffi 合字" WIDTH="154" HEIGHT="277"></TD>
<TD><P ALIGN=Center>
<!-- <IMG src="../../_images/ffi-unlink.png" WIDTH="154" HEIGHT="277" ALT="ffi after unlinking references"></TD> -->
<IMG src="../../_images/ffi-unlink.png" WIDTH="154" HEIGHT="277" ALT="ffi の参照を解除したところ"></TD>
<TD><P ALIGN=Center>
<!-- <IMG src="../../_images/ffi-moved.png" WIDTH="154" HEIGHT="277" ALT="ffi after lowering first f"></TD> -->
<IMG src="../../_images/ffi-moved.png" WIDTH="154" HEIGHT="277" ALT="ffi の最初の f を下げたところ"></TD>
<TD><P ALIGN=Center>
<!-- <IMG src="../../_images/ffi-rmoverlap.png" ALT="ffi after doing remove overlap" WIDTH="154"
HEIGHT="277"></TD> -->
<IMG src="../../_images/ffi-rmoverlap.png" ALT="ffi の重複除去をしたところ" WIDTH="154"
HEIGHT="277"></TD>
<TD><P ALIGN=Center>
<!-- <IMG src="../../_images/ffi-caret.png" ALT="ffi after adjusting ligature carets" WIDTH="154"
HEIGHT="277"></TD> -->
<IMG src="../../_images/ffi-caret.png" ALT="ffi の合字キャレットを調整したところ" WIDTH="154"
HEIGHT="277"></TD>
</TR>
<TR VALIGN="Top">
<!-- <TD>Use the <A HREF="elementmenu.html#CharInfo">Element -> Glyph Info</A>
dialog to name the glyph and mark it as a ligature. Then use
<A HREF="elementmenu.html#Accented">Element -> Build -> Build
Composite</A> to insert references to the ligature components.</TD>-->
<TD>グリフの名前を決め、合字であることを指定するために <A HREF="elementmenu.html#CharInfo"><CODE>エレメント(<U>L</U>)</CODE>→<CODE>グリフ情報(<U>I</U>)...</CODE></A> ダイアログを使います。次に <A HREF="elementmenu.html#Accented"><CODE>エレメント(<U>L</U>)</CODE>→<CODE>組み立て(<U>U</U>)</CODE>→<CODE>複合グリフを構築(<U>C</U>)</CODE></A> で合字の構成要素への参照を挿入します。</TD>
<!-- <TD>Use the <A HREF="editmenu.html#Unlink">Edit-> Unlink References</A>
command to turn the references into a set of contours.</TD>-->
<TD><A HREF="editmenu.html#Unlink"><CODE>編集(<U>E</U>)</CODE>→<CODE>参照を解除(<U>N</U>)</CODE></A> コマンドを使って、参照を輪郭線に変換します。</TD>
<!-- <TD>Adjust the components so that they will look better together. Here the
stem of the first f has been lowered.</TD>-->
<TD>各要素がより揃って美しく見えるように調整します。ここでは最初の f のステムを下に動かしています。</TD>
<!-- <TD>Use the <A HREF="elementmenu.html#Remove">Element -> Remove Overlap</A>
command to clean up the glyph.</TD>-->
<TD><A HREF="elementmenu.html#Remove"><CODE>エレメント(<U>L</U>)</CODE>→<CODE>重複処理(<U>V</U>)</CODE>→重なり合う図形を結合(<U>R</U>)</A> コマンドを使って、グリフを整理します。</TD>
<!-- <TD>Finally drag the ligature caret lines from the origin to more appropriate
places between the components.</TD>-->
<TD>最後に合字キャレットの線を、原点からもっと適切な構成要素間の場所に動かします。</TD>
</TR>
</TABLE>
<P>
<!--
Some word processors will allow the editing caret to be placed inside a ligature
(with a caret position between each component of the ligature). This means
that the user of that word processor does not need to know s/he is dealing
with a ligature and sees behavior very similar to what s/he would see if
the components were present. But if the word processor is to be able to do
this it must have some information from the font designer giving the locations
of appropriate caret positions. As soon as FontForge notices that a glyph
is a ligature it will insert in it enough caret location lines to fit between
the ligature's components. FontForge places these on the origin, if you leave
them on the origin FontForge will ignore them. But once you have built your
ligature you might want to move the pointer tool over to the origin line,
press the button and drag one of the caret lines to its correct location.
(Only TrueType and OpenType support this). -->
一部のワードプロセッサは、合字の内部 (の合字の各構成要素の間の位置) にキャレットを置いて編集することができます。
これは、ワードプロセッサの利用者が、合字を取り扱っていることを意識する必要が無く、そこに構成要素が置かれているときとほとんど同じふるまいを目にするということです。
しかし、ワードプロセッサーがこの機能を可能にするためには、フォントデザイナーが適切なキャレット位置として設定した地点についていくつかの情報を得る必要があります。
FontForge は、あるグリフが合字であることが分かっている場合、合字要素の間に配置するのに十分な個数のキャレット位置境界線をその文字に挿入します。
FontForge はこれらを原点に置きます。もしあなたがこれらを原点に置いたままにしている場合、FontForge はそれらを無視します。
しかし、合字を作成し終えたら、ポインタツールで原点に位置する線を移動し、ボタンを押してキャレット行の一つを正しい位置に移動したほうがよいでしょう。
(TrueType と OpenType のみがこれをサポートしています)。
<P>
<P>
<!--
<FONT COLOR="Red"><STRONG><BIG>CAVEAT: </BIG></STRONG></FONT>OpenType engines
will only apply features which they believe are appropriate for the current
script (in Latin scripts, Uniscribe will apply 'liga'). Even worse, some
applications may choose not to apply any features ever (Word does not do
ligatures in latin).
<A HREF="http://www.microsoft.com/typography/specs/default.htm">Microsoft
tries to document </A>what features they apply for which scripts in Uniscribe,
but that isn't very helpful since Word and Office have quite different behavior
than the default. -->
<FONT COLOR="Red"><STRONG><BIG>警告: </BIG></STRONG></FONT>OpenType エンジンは、現在の用字系において適正であると判断した時にかぎり、機能を適用します (ラテン文字では、Uniscribe は‘liga’機能のみを適用します)。
Microsoft は、Uniscribe においてどのスクリプトにどの機能を適用するかを<A HREF="http://www.microsoft.com/typography/specs/default.htm">文書化しようとしています</A>が、Word および Office はデフォルトと全く異なる振舞いをするため、これはほとんど参考になりません。さらに悪いことに、いくつかのアプリケーションはおそらく一切の機能を適用しないことを選んでいます (Word はラテン文字の合字処理を行いません)。
Microsoft は、Uniscribe においてどのスクリプトにどの機能を適用するかを<A HREF="http://www.microsoft.com/typography/specs/default.htm">文書化しようとしています</A>が、Word および Office はデフォルトと全く異なる振舞いをするため、これはほとんど参考になりません。
<!--
There are a good many ligatures needed for the indic scripts, but Unicode
does not provide an encoding for them. If you wish to build a ligature that
is not part of Unicode you may do so. First <A HREF="faq.html#new-name">add
an unencoded glyph to your font</A> (or if your font is a Unicode font, use
a code point in the private use area), and name the glyph. The name is important,
if you name it correctly FontForge will be able to figure out that it is
a ligature and what its components are. If you want to build a ligature out
of the glyphs "longs", "longs" and "l" then name it "longs_longs_l", if you
want to build a ligature out of Unicode 0D15, 0D4D and 0D15 then name it
"uni0D15_uni0D4D_uni0D15". -->
インド系の用字系では非常に多くの合字が必要とされますが、Unicode はそれらに対してエンコーディングを割り当てていません。
Unicode に含まれない合字が必要な場合、以下のようにすれば構築することができます。
まず <A HREF="faq.html#new-name">エンコードされていないグリフをフォントに追加</A> し、グリフに名前をつけます (または Unicode フォントならば、私用領域のコードポイントを使用します)。
名前は重要です。もしあなたが正確に名前を指定したならば、FontForge はそれが合字であり、どんな要素から構成されているかを知ることができるからです。
グリフ“longs”,“longs”と“l”からなる合字を作成したい場合には、<CODE>“longs_longs_l”</CODE>と名前をつけます。Unicode 0D15, 0D4D と 0D15 からなる合字を組み立てる場合には<CODE>“uni0D15_uni0D4D_uni0D15”</CODE>と命名します。
<P>
<!--
Once you have named your ligature, and inserted its components (with Build
Composite), you probably want to open the glyph,
<A HREF="editmenu.html#Unlink">Unlink your References</A> and edit them to
make a pleasing shape (as above). -->
合字に名前をつけ、その構成要素を (「複合文字の構築」を使って) 挿入したならば、おそらくグリフを開きたくなるでしょう。
<A HREF="editmenu.html#Unlink">参照を解除</A> して、それらが美しい形になるように編集してください。
<P>
<!--
<IMG SRC="charinfo-akhn.png" WIDTH="307" HEIGHT="401" ALT="Char Info for Akhand ligature type"
ALIGN="Right">Finally you should check that FontForge has marked your glyph
as a ligature (and, if so, as the right kind of ligature). Bring up the
<A HREF="charinfo.html#ligature">Element->Glyph Info->Ligature</A>
dialog. You should see a line like:<BR>
-->
<IMG src="../../_images/charinfo-akhn.png" WIDTH="307" HEIGHT="401" ALT="Akhand 合字タイプに対する文字情報"
ALIGN="Right">最後に、FontForge がこのグリフを合字として印づけたかどうか (および、合字ならば、正しい種類の合字かどうか) を確認しましょう。
<A HREF="charinfo.html#ligature"><CODE>エレメント(<U>L</U>)</CODE>→<CODE>グリフ情報(<U>I</U>)...</CODE>→<CODE>[合字]</CODE></A> サブダイアログを呼び出してください。
以下のような行が表示されるでしょう:<BR>
<TT> liga m longs longs l</TT><BR>
<!-- or <BR>-->
または<BR>
<TT> liga m uni0D15 uni0D4D uni0D15</TT><BR>
<!--
In the first case you might want to add an additional line (by pressing the
[New...] button:<BR> -->
最初のケースでは、(<CODE>[新規(<U>N</U>)...]</CODE> ボタンを押して以下のような行を追加したほうがいいかもしれません:<BR>
<TT> liga m longs_longs l</TT><BR>
<!--
(assuming you have a longs_longs ligature already). While in the second case
you might want to select the line, press the [Edit...] button and change
the ligature type from 'liga' to 'akhn' (I don't know enough about Indic
scripts to understand this distinction myself), yielding: <BR> -->
(ここでは合字 <CODE>longs_longs</CODE> が既に作成済みだと仮定しています)。
2 番目のケースでは、行を選択して <CODE>[編集(<U>E</U>)...]</CODE> ボタンを押して合字のタイプを‘liga’から‘akhn’に変更する必要があるでしょう (私自身は、この違いを理解するほどのインド系用字系に関する十分な知識がありません)。結果はこうなります:<BR>
<TT> akhn m uni0D15 uni0D4D uni0D15</TT>
<P>
<P>
<P ALIGN=Center>
— <A HREF="editexample3.html">前</A> — <A HREF="overview.html">目次</A>
— <A HREF="editexample5.html">次</A> —
</DIV>
</BODY></HTML>
|