afm2pl - başvuru kılavuzu, seçenekler, komut örnekleri


İSİM

afm2pl - AFM yazı tipi ölçümlerini TeX pl yazı tipi ölçümlerine dönüştürün

ÖZET

afm2pl [-p encoding_file] [-o] [-e extension_factor] [-s slant_factor] [-f font_dimensions] [-k] [-m letter_spacing] [-l ligkern_spec] [-L ligkern_spec] [-n] input_file[.afm] [output_file[.pl]]

afm2pl [--help] | [--version]

TANIM

afm2pl, bir afm (Adobe Font Metric) dosyasını bir pl (Özellik Listesi) dosyasına dönüştürür; bu dosya da bir tfm (TeX Font Metric) dosyasına dönüştürülebilir. Normalde karakter karakterlerini ve bitişik harfleri korur, ancak bunlar üzerinde ek kontrol de sunar.

afm2pl, temel aldığı afm2tfm'nin kısmi ikamesi anlamına gelir. afm2tfm ile karakter karakterlerini ve bitişik harfleri korumak yalnızca dolambaçlı bir şekilde mümkündür ve bunların işlenmesi fiziksel olarak yapılır.

Metin yazı tipleri için, Y&Y'nin texnansi'si afm2pl ile kullanmak için iyi bir kodlamadır. Karakter seti, sanal yazı tiplerine veya ayrı bir metin yardımcı yazı tipine ihtiyaç duymadan, Batı dilleri için ihtiyaç duyulabilecek tüm aksanlı karakterlerin yanı sıra birçok tipografik simgeyi içerir.

Bu kodlama için tam LaTeX desteği, halihazırda TeX Live ve teTeX'in bir parçası olan texnansi paketi biçiminde mevcuttur. Bu dağıtımlar ayrıca texnansi.enc kodlama dosyasını içerir.

Dağıtım, texnansi'nin büyük ve küçük harfli sürümlerini içerir, yani. texnanuc ve texnanlc, makro tabanlı büyük ve küçük harfler yerine yazı tipi tabanlı ve tanıdık eski ot1 kodlamasına ve PostScript .enc biçimindeki bazı varyasyonlara izin vermek için (bunları dahil ettim çünkü teTeX/TeX Live'da yok gibi görünüyorlar). Ancak, bunları kullanan eski afm2pl tarafından oluşturulmuş yazı tipleriniz varsa harita dosyalarınızı kontrol edin.

Dönüş değeri: Hata yoksa 0; dönüştürme başka şekilde başarılıysa ancak glifler eksikse eksik gliflerin sayısını gösteren negatif bir sayı ve hata durumunda 1.

SEÇENEKLER

-p kodlama_dosyası

Varsayılan, afm dosyasında belirtilen ve yazı tipi dosyasındaki (pfa veya pfb) kodlamayla daha iyi eşleşen kodlamadır. afm2pl-name.enc varsa, afm2pl, -n seçeneği verilmedikçe name.enc yerine bu dosyayı kullanır. Oluşturulan harita dosyası girişi (aşağıya bakın), pdftex veya dvi sürücüsüne yazı tipini anında yeniden kodlaması talimatını verir. Anında yeniden kodlama, sanal yazı tiplerini gerektirmez.

-o

pl dosyasındaki tüm karakter kodları için sekizlik kullanın.

-e extend_factor

Karakterleri extend_factor ile genişletin veya daraltın. Varsayılan 1.0'dır (doğal genişlik). Önerilmez[1].

-s slant_factor

slant_factor ile eğik (eğimli) karakterler. Tavsiye de edilmez.

-f font_dimensions

Değer, afm2tfm anahtar sözcüğü veya en fazla beş tam sayıdan oluşan virgülle ayrılmış bir listedir. Parametreler, varsayılanları ve afm2tfm anahtar sözcüğü belirtildiğindeki değerleri ile aşağıda listelenmiştir. 'Boşluk', elbette son satırdaki hariç, hedef yazı tipindeki bir boşluğun genişliği anlamına gelir. Tasarım boyutunun 1000 olduğunu ve tüm sayıların negatif olmayan tam sayılar olması gerektiğini unutmayın.

Font dimension Default value Afm2tfm value
stretch space div 2 300 × extend_factor
shrink space div 3 100 × extend_factor
extra space space div 3 missing
quad 2 × width of ‘0’ 1000 × extend_factor
space (space source font) × extend_factor (space source font) × extend_factor

Sabit aralıklı yazı tipleri için farklı değerler geçerlidir:

Font dimension Default value Afm2tfm value
stretch 0 0
shrink 0 0
extra space space missing
quad 2 × character width 1000 × extend_factor
space character width character width

Yalnızca varsayılan olmayan bir uzatma belirtin ve ör. 150,70 ve ,,10 ile yalnızca varsayılan olmayan bir ekstra boşluk.

-k

Orijinal bitişik harfleri saklayın. Bu seçeneğin yalnızca pozitif harf aralığı ile birlikte etkisi vardır; harf aralığı ve ekstra ligkern bilgisi ile ilgili bölüme bakın.

-m letter_spacing

letter_spacing/1000 em (tamsayı) ile harf alanı. Bu, tamamı büyük harfli dizginin daha iyi görünmesini sağlamak için kullanışlıdır. Örneğin bir değer deneyin. 50 veya 100. Ancak ayrıntılar için harf aralığı ve ekstra ligkern bilgisi bölümüne bakın. Yine de daha iyi bir alternatif, pdftex'in harf aralığını yapmasına izin vermektir. Mikro tip paketi, LaTeX kullanıcılarına bu özelliğe erişim sağlar.

-l ligkern_spec, -L ligkern_spec

Ayrıntılar için ekstra ligkern bilgisi bölümüne bakın.

-n

Önek yok. .enc- ve .lig dosyaları için, program normalde önce adın önüne 'afm2pl-' ekler. Yalnızca ön ekli dosya adı bulunamazsa orijinal dosya adını arar. Bu seçenek, ön ekli dosya adının aranmasını engeller.

-V

ayrıntılı. Açıksa, eksik gliflerin sayısını stderr'e ve adlarını stdout'a bildirir.

--yardım

Kısa bir kullanım mesajı görüntüleyin.

--versiyon

afm2pl sürüm numarasını görüntüleyin.

HARİTA DOSYASI GİRİŞLERİ

afm2pl, pl çıktı dosyasıyla aynı taban adına sahip, ancak .map uzantılı bir dosyaya bir harita dosyası girişi yazar. Dvips harita dosyası ve pdftex harita dosyası için kullanılabilir. Pfb dosyasının afm dosyasıyla aynı taban adına sahip olduğu ve indirilmesi gerektiği varsayılır. Bu girişi elle düzenlemeniz gerekebilir.

Bu ek harita dosyasını okumak için dvips ve pdftex'i yapılandırabilir veya girişi mevcut bir harita dosyasına başka bir şekilde ekleyebilirsiniz.

Harita dosyalarınızı kontrol edin! Ad çakışması olasılığını azaltmak için, afm2pl'nin parçası olan .enc- dosyalarının (ot1, ot1csc, ot1ital, ot1tt, texnanlc ve texnanuc) artık başına afm2pl- eklendi. .enc dosyalarına harita dosyalarında başvurulur. Bunları kullanan eski afm2pl tarafından oluşturulmuş .tfm dosyalarınız varsa, bunların harita dosyası parçalarını güncellemeli ve updmap veya updmap-sys'yi yeniden çalıştırmalısınız. Veya ilgili enc dosyalarını kişisel veya yerel texmf ağacınıza önceki ön eksiz adlarıyla kopyalayabilirsiniz.

EKSTRA LİGKERN BİLGİSİ

Çoğu kullanıcıya bu karışıklığı kendi haline bırakması ve varsayılan davranışı kabul etmesi önerilir.

afm dosyasında bulunan bitişik harfler ve karakter aralıkları çeşitli şekillerde değiştirilebilir. Varsayılan olarak, kodlama dosyası, formatı aşağıda açıklanacak olan ekstra ligkern özellikleri için taranır. Kodlama dosyasında ligkern spesifikasyonu yoksa, ekstra ligkern spesifikasyonu [afm2pl-]default.lig dosyasından okunacaktır. ligkern_spec için 0 değeri, afm dosyasındaki bitişik harfler ve karakter aralıklarının değiştirilemeyeceği anlamına gelir ve 1 değeri, varsayılan davranışı belirtir. Ekstra ligkerns özelliklerine sahip dosyaların virgülle ayrılmış bir listesi de belirtilebilir.

afm2pl, kpathsea kütüphanesi ile derlenmişse, bu dosyalar $TEXMF/fonts/lig altında aranacaktır.

Birleşik harflerin ve karakter karakterlerinin dizgi uygulaması için ipuçları olduğunu unutmayın; bu bilgiyi yazıcıya indirmeye veya bir dvi sürücüsünün kullanımına sunmaya gerek yoktur.

Ligkern bilgileri için ayrıştırıcı, neredeyse hiçbir değişiklik yapılmadan afm2tfm'den devralınmıştır. Bir ligkern spesifikasyonu aşağıdaki formlardan birine sahip olabilir:

glyph_name1 glyph_name2 lig_op glyph_name3 ;

Bu bir bağ belirtir. lig_op için olası değerler şunlardır: =:, |=:, |=:>, =:|, =:|>, |=:|, |=:|> ve |=:|>> . Bunlar .pl sözdiziminde LIG, /LIG, /LIG>, LIG/, LIG/>, /LIG/, /LIG/>, /LIG/>>'ye karşılık gelir; dağıtımdaki pltotf belgelerine ve .lig dosyalarına bakın.

glyph_name1 <> glyph_name2 ;

glyph_name1'i glyph_name2 olarak girin.

glyph_name1 {} glyph_name2 ;

glyph_name1 ile glyph_name2 arasındaki karakter aralığını kaldırın. Her iki glif adı için * değeri, joker karakter olarak yorumlanır.

|| = glyph ;

(Sağ) sınır karakterini glyph olarak ayarlayın. glif, bir glif adı veya kodlama vektöründeki bir yuva olabilir. Çıktı kodlamasında yer almayan bir glif seçmek, hiç bir borderchar belirtmemekle eşdeğerdir. Afm'de yer almayan kodlanmış bir glif adı seçmekte sorun yoktur. Aslında default.lig bunu yapar: ||=cwm;.

Kodlanmamış bir karakterin karakter aralığını borderchar'a kopyalayabilirsiniz. Aşağıda, boşluk kodlanmamış karakterdir:

|| <> space ;

Bu ligkern belirtimi, boşluk karakter karakterlerini silenden önce gelmelidir.

Bir ligkern spesifikasyonu bir satırda yer almalıdır. Bir satır, boşluklarla ayrılmış birkaç ligkern özelliği içerebilir. Dikkat ; (boşluk ve ardından noktalı virgül) ligkern spesifikasyonunun bir parçası olarak kabul edilir. Bu dağıtımda yer alan lig dosyalarına bakın. Örnek:

one {} * ; * {} one ; two {} * ; * {} two ;

Bir kodlama dosyası içindeki ligkern özelliklerine sahip satırlar, % LIGKERN ile başlamalıdır. Bir lig dosyasındaki Ligkern spesifikasyonları isteğe bağlı olarak bu şekilde başlayabilir.

LETTERSPACING VE EKSTRA LİGKERN BİLGİSİ

Harf aralığının ligkern bilgisi için çeşitli yan etkileri vardır. Ekstra ligkern bilgisini basitçe uygulamak yerine (önceki bölüme bakın), aşağıdakiler yapılır:

  1. Pozitif harf aralığı olması durumunda, -k seçeneği belirtilmedikçe yerel bitişik harfler kaldırılır.

  2. Ekstra ligkern bilgisi her zamanki gibi uygulanır, ancak pozitif harf aralığı durumunda farklı varsayılanlar uygulanır: -l 0 sessizce yok sayılır, kodlama dosyasındaki ligkern yorumları yok sayılır ve default.lig yerine defpre.lig okunur.

  3. Harf aralığı uygulanır. Bu, çok sayıda karakter aralığı ekler ve mevcut karakter aralıklarını değiştirir.

  4. -L ile belirtilen ekstra ligkern bilgisi uygulanır. Burada izin verilen ligkern özellikleri, karakter aralığı çiftlerinin kaldırılmasıdır ({} operatörü ile). 0 ve 1 değerleri, -l parametresiyle benzer bir anlama sahiptir. TFM biçiminde yalnızca yaklaşık 180x180 bitişik harfler ve karakter aralığı çiftleri için yer vardır. Bu, OT1 kodlaması için yeterlidir, ancak texnansi kodlaması için epeyce ligkern özelliğinin kaldırılması gerekir. Çok fazla bitişik harf ve karakter aralığı kalırsa pltotf programı tüm ligkern bilgilerini kaldıracaktır. Varsayılan lig dosyası defpost.lig'dir. Bu dosya, harf aralığına dahil olması muhtemel olmayan karakter aralığı çiftlerini, örneğin aksan içeren karakter dizileri veya bir noktalama karakteri veya solda sağ köşeli parantez içeren karakter aralığı çiftlerini atar. Sınır karakterlerini içeren harf boşlukları eklemez. Bunun yerine, yazı tipi alanı, harf aralığının iki katı kadar artırılır. defpost.lig, texnansi kodlaması durumunda yeterli karakter aralığı atar. Diğer kodlamalarda, ek karakter aralığı çiftlerini atmanız gerekebilir.

FONT TABANLI BÜYÜK VE KÜÇÜK HARF

Dağıtım, tamamen büyük ve tamamen küçük yazı tiplerini üreten texnanuc.enc ve texnanlc.enc kodlama vektörlerini içerir.

Tamamı büyük harfli bir yazı tipi için temel kullanımlar, sayfa başlıkları ve bölüm başlıklarıdır. Bunlar matematik içeriyorsa, makro tabanlı büyük harf kullanımı hoş olmayan komplikasyonlara neden olur. Örnek:

afm2pl -p texnanuc ptmr8a ptmup8y
pltotf ptmup8y

En iyi sonuçlar için, biraz harf aralığı eklemelisiniz. LaTeX'te bu en iyi şekilde mikrotip paketiyle yapılır; bu paketin belgelerine bakın. Ancak afm2pl ile de yapılabilir:

afm2pl -p texnanuc -m 100 ptmr8a ptmup8y

Bu dikkat gerektirir; yukarıyı görmek.

Bu yeni yazı tipini LaTeX yazı tipi seçimi bağlamında aşağıdaki gibi kullanabilirsiniz:


<preamble commands>
\makeatletter
{\nfss@catcodes
\DeclareFontShape{LY1}{ptm}{m}{upp}{<-> ptmup8y}{}}
\makeatother
...
\begin{document}
...
{\fontshape{upp}\selectfont uppercase text}

upp'nin yeni oluşturulmuş bir şekil adı olduğuna dikkat edin.

sz bağı ß

texnanuc kodlamasının sz bağı ß için glif sağlamadığına dikkat edin; ya ss'yi değiştirmeniz ya da makro tabanlı bir çözüm sağlamanız gerekecek. Aşağıdaki kod, glifin geçerli yazı tipinde bulunup bulunmadığına bağlı olarak ya normal glifi kullanır ya da ss harflerinin yerine geçer:


\def\ss{%
  \setbox0\hbox{\char25}%
  \ifnum\wd0=0 ss\else\box0\fi
}

LaTeX'te, bu kod yeterince iyi çalışıyor gibi görünse de ara sıra \protect eklemeniz gerekebilir. Daha iyi bir çözüm, \DeclareFontShape makrosunun altıncı parametresini içerebilir, ancak bunun çalışmasını sağlayamadım.

AFM2PL, FONTINST VE YAPAY KÜÇÜK HARFLER

Afm2pl sanal yazı tipleri yapmaz. Bu, yapay küçük kapaklar gibi şeyler için başka bir yere başvurmanız gerektiği anlamına gelir, örn. herhangi bir ana akım TeX dağıtımının parçası olan fontinst paketine.

afm2pl tarafından oluşturulan bir tfm dosyasından bir küçük harfli yazı tipi (tfm ve vf dosyaları) oluşturmanıza izin veren fontinst destek dosyaları için texmf/tex/fontinst altına bakın. Bu paket yalnızca texnansi kodlamasını destekler.

OT1 kodlaması için aynısını yapmakta gerçek bir sorun olmamalıdır. Ancak, OT1 kodlamasının ilgilenilmesi gereken çeşitli varyasyonları vardır. Ayrıca, bildiğim kadarıyla OT1 kodlamasının tüm varyasyonları için resmi olarak onaylanmış hiçbir PostScript adı yok; fontinst adları boşluk içerir ve bu nedenle PostScript adları olarak kullanılamaz.

VERSİYON 0.7.1'DE DEĞİŞTİRİLMİŞTİR

Ad çakışmalarını önlemek için, afm2pl ile dağıtılan .enc- ve .lig dosyalarının adlarının başına afm2pl- eklendi. Programın kendisi artık önce bu şekilde eklenen adı arar. .enc- veya .lig dosyası bulunamazsa orijinal dosya adını arar. afm2pl .enc dosyalarının yeniden adlandırılması, bazı harita dosyalarının değiştirilmesini gerektirebilir.

URL'LER

afm2pl ana sayfası http://tex.aanhet.net/afm2pl/ şeklindedir.

Sığ yoldan yazı tipi kurulumu[2] (EuroTeX 2006 Proceedings, TUGboat[3] sayı 27.1 olarak yayınlanan) makalesi afm2pl'nin kullanımını göstermektedir.

NOTLAR

1.

Daraltılmış bir Courier'nin, normal bir orantılı yazı tipiyle birlikte kullanıldığında tam genişlikte bir Courier'den daha az sarsıcı olması dışında. Courier için cmtt'nin genişliğini eşleştirmek üzere .833'ü seçin. Daha da iyisi, Courier'ı hiç kullanmayın; çoğu TeX dağıtımı, çeşitli iyi değiştirmeler sunar.

2.

Yazı tipi kurulumu sığ yol

https://tug.org/TUGboat/tb27-1/tb86kroonenberg-fonts.pdf

afm2pl, TeX Live'ın bir parçası olarak korunur.