在通用插圖應(yīng)用程序(Inkscape,Adobe Illustrator 等)中繪制字形并將其作為 EPS 或 SVG 導(dǎo)入是有可能的。
SVG文件確實(shí)需要 viewBox="0 0 1000 1000"
寬度事實(shí)上并不重要,只要它比你的字形更寬。但是高度是 1000 對(duì)最容易的導(dǎo)入來說是重要的。
y=0 將會(huì)是頂部線并且 y=1000 將會(huì)是底部線。
(可能有一些字形超出了這些線,F(xiàn)ontForge 可能會(huì)正確處理,但是我們并未測(cè)試。)
FontForge 默認(rèn)會(huì)設(shè)置你的基線為 y=800。在 FontForge 的坐標(biāo)系統(tǒng)中,基線處在豎直范圍的 0 點(diǎn)處。
為了在 FontForge 中設(shè)置基線到你希望的地方,在 SVG 中將 y 坐標(biāo)作為你的基線。在 FontForge 的坐標(biāo)系統(tǒng)中,這將是其頂部線的豎直點(diǎn)。(1000-y)作為底部。打開 Element->Font Info,在 General 選項(xiàng)卡下的“Ascent”和“Descent”輸入框輸入頂部值和底部值。兩者都是正數(shù)。字模高度(Em Size)應(yīng)該保留 1000(因?yàn)檫@是 SVG 單位的高度)。
當(dāng)繪制字形時(shí),我喜歡使用相對(duì)坐標(biāo)。因此我以<path d="M Xvalue,Yvalue 作為字形的開始。如果我可以自始至終從左邊的點(diǎn)開始繪制字形,那么 Xvalue 將會(huì)是 FontForge 使用的默認(rèn)的左跨距。你可以在字形導(dǎo)入后容易地調(diào)整它,并可能在測(cè)試字體后無論如何都需要調(diào)整。當(dāng)我可以從基線開始繪制時(shí),將基線值作為 Yvalue 很好。
總是使用 a z 來結(jié)束路徑的 d 屬性。導(dǎo)入的時(shí)候不會(huì)導(dǎo)入它,但是如果你忘記在路徑最后的點(diǎn)后放置 a z,那么在主窗口中字形不會(huì)顯示正確除非你重啟 FontForge。
使用一個(gè)網(wǎng)頁(yè)瀏覽器來渲染你正在制作的 SVG。你可以使用一個(gè)被稱作“template.svg”的 1200 乘 1200 的文件卻渲染為 800 乘 800,這樣它在瀏覽器窗口中不會(huì)滾動(dòng)。
在模板中,在 y=100, y=1100, y=(100 + {baseline, capheight, etc.}, x=100, x=1100 繪制引導(dǎo)線。
然后使用文檔<image xlink:href="LC_p.svg" x="100" y="100" width="1000" height="1000" />將你正在制作的 SVG 字形導(dǎo)入。
現(xiàn)在你可以在一個(gè)窗口中手工編碼你的字母,刷新瀏覽器來看它是否繪制在引導(dǎo)線的頂部。
namelist.txt 文件,可能使用一個(gè)電子表格來列出 Unicode 碼點(diǎn)和字形名。例如:0xEC00 octDotDhe
0xEC01 octDotDheDbl
0xEC02 octDotDheTrpl
0xEC03 octDotDheQdrpl
0xEC04 octDotLik
0xEC05 octDotLikDbl
0xEC06 octDotLikTrpl
0xEC07 minirLik
0xEC08 minirDhe
0xEC09 minirBawah
0xEC0A soroganDhe
0x-001 soroganLik
對(duì)于沒有 Unicode 點(diǎn)的字形來說,使用 -1 的碼點(diǎn),正如上面例子的最后一行。
然后夾在 FontForge 并打開 Encoding->Load NameList 然后使用 Rename glyphs(由于 Load NameList 只添加自定義名稱列表到重命名之后的命令 的可用選項(xiàng)集合)。