TeX shrift metrikasi - TeX font metric

TeX shrift metrikasi
Fayl nomi kengaytmasi
.tfm
Internet-media turiapplication / x-tex-tfm (norasmiy)
Tomonidan ishlab chiqilganDonald E. Knut
Format turishrift metrik

TeX shrift metrikasi (TFM) a shrift fayl formati tomonidan ishlatilgan TeX matn terish tizim. Bu shrift metrik formati, shriftning shrift formati emas TrueType chunki u har bir belgining kengligi, balandligi va chuqurligi kabi shriftni terish uchun zarur bo'lgan ma'lumotlarni beradi. Haqiqiy gliflar boshqa joylarda saqlanadi. Bu TeXga xos emas; Adobe AFM fayllar va Windows ' PFM (NTF zamonaviy Windows-da PostScript drayver) fayllari xuddi shu texnikadan foydalanadi.

TFM fayllari TeX qurilmadan mustaqil ravishda ishlab chiqarishi uchun zarur bo'lgan barcha ma'lumotlarni o'z ichiga oladi (DVI ) chiqish. Keyinchalik haqiqiy gliflar, masalan, DVI chiqish drayveri yoki oldindan ko'rib chiquvchi tomonidan kiritiladi. TrueType shriftlar yoki bitmapadagi shriftlar PK formati a dan olingan METAFONT manba. Format nihoyatda ixcham qilib yaratilgan: asl nusxada Kompyuter zamonaviy tarqatish, har bir shriftning TFM fayli 2 kB dan kichik.[1]

Texnik xususiyatlari

TFM formatining kanonik spetsifikatsiyasi manba kodi dasturning TFtoPL.[2]

TFM fayli to'rt baytli qatorga bo'linadi so'zlar turli uzunlikdagi ma'lumotlar maydonlarini o'z ichiga olishi mumkin. Bir baytdan ortiq bo'lgan har qanday ma'lumotlar maydonlari saqlanadi katta endian buyurtma. (Aynan shu fayl, uni yaratayotgan kompyuter arxitekturasidan qat'i nazar, yaratiladi.)


Olti so'zli (24 baytli) fayl sarlavhasida fayl uzunligini, shrift tarkibidagi belgilar kodlari oralig'ini va jadvallarning har birining hajmini tavsiflovchi o'n ikki belgisiz 16-bitli butun sonlar mavjud. Bitta TFM fayli, shu jumladan 0 dan 256 gacha belgini tasvirlaydi.


TFM fayli tanasi o'nta jadvallar qatoridan iborat bo'lib, ularning har biri birinchisidan tashqari, uzunlikdagi maydonlar qatori sifatida joylashtirilgan. 32-bit imzolangan belgilangan raqam kasrdan chap tomonda 12 bit bilan, a deb nomlanadi fix_word, juda ko'p ishlatiladi. Birinchi stol, sarlavha, a tarkibiga kiritilgan hujjatning oldini olish uchun tuzilgan nazorat summasini o'z ichiga oladi DVI shriftlarning boshqa to'plami bilan bosib chiqarilishi bilan bir qatorda, shuningdek belgilar kodlash sxemasining ASCII tavsiflari bilan (masalan, ASCII yoki TeX matni) va shriftlar oilasi. Shuningdek, u shriftning dizayn o'lchamini o'z ichiga oladi; barchasi quyidagilar fix_word qiymatlari buning uchun ko'paytma omillari sifatida talqin etiladi.

TFM faylining fayl tuzilishi

Keyingi jadval, char_info, har bir belgi uchun bitta so'zdan iborat bo'lib, kenglik, balandlik, chuqurlik va kursiv tuzatish jadvallariga indekslarni o'z ichiga oladi. Bu bo'shliqni tejashga qodir bo'lgan qurilma, chunki kenglik qiymatlari, masalan, tez-tez takrorlanadi. Balandlik va chuqurlik qiymatlari tez-tez takrorlanadiganligi sababli, ushbu qiymatlarning barchasini bitta so'zga kiritish uchun indekslar to'rt bit bilan cheklangan. Shu sababli, har qanday TFM faylida o'n olti xil belgilar balandligi va o'n olti xil belgilar chuqurligi chegarasi mavjud. Bundan tashqari, oltmish to'rt xil kursiv tuzatishning chegarasi mavjud. Ga ishora qiladigan yana bitta indeks mavjud lig_kern jadval yoki ikki bitga qarab kengaytiriladigan belgilar haqidagi ma'lumot yorliq qiymat. Kengaytiriladigan belgilar ixtiyoriy o'lchamdagi bitta kattakonni, odatda qavslar yoki qavslar kabi katta ajratuvchilarni yaratish uchun bir qator takrorlanadigan belgilarni qo'llaydi.

Keyin to'rtta jadvalga amal qiling kengligi, balandlik, chuqurlik va kursiv, qiymatlarni o'z ichiga olgan (in fix_word format) indekslari bilan ataladi char_info.

Ligaturalar va qirqish da sobit uzunlikdagi to'rt baytli operatsiyalardan iborat oddiy dasturlash tili yordamida tasvirlangan lig_kern stol; u kerning qiymatlaridan foydalanadi (sifatida ko'rsatilgan fix_words) ichida yadro unga ergashadigan jadval.

Kengaytiriladigan belgilar kengaytirilgan kengaytiriladigan belgining yuqori, o'rta, pastki va takroriy qismlarini ko'rsatuvchi to'rt baytli so'zlar qatoridan foydalangan holda jadval. Masalan, quyida chapdagi belgi (yuqori, o'rtada, bot, vakili) uchun belgilar kodlariga (/, <, \, |). Birinchi uchta belgi kodini nolga qo'yish mumkin. Masalan, agar o'rtada oldingi misolda 0 ga o'rnatilgan bo'lsa, natija chap tomonda tortilgan qavsdan uning o'ng tomonida joylashgan qavsgacha o'zgaradi.

/     /|     ||     |<     ||     ||     |\     \

Albatta, shriftda buning uchun mavjud bo'lganlarni qayta ishlatish o'rniga maxsus ishlab chiqilgan belgilar ishlatiladi, ammo printsip bir xil.

Yakuniy jadval, param, maxsus belgilangan bir qator o'z ichiga oladi fix_word shriftni o'z ichiga olgan qiymatlar x balandligi va kursiv qiyalik miqdori (aksanlarni qay tomonga siljitish kerakligini aniqlash uchun). Kabi ba'zi bir kodlash sxemalari TeX matematik belgilar va TeX matematik kengaytmasi ulardan keyin paydo bo'ladigan qo'shimcha parametrlarni aniqlang.

Mulk ro'yxatlari

Bor inson tomonidan tushunarli deb nomlangan TFM formatiga teng PL, mulk ro'yxati uchun. TFM fayli bilan PL fayli o'rtasida aniq yozishmalar mavjud: biri boshqasiga erkin aylantirilishi mumkin va yana ma'lumot yo'qolmasdan tftopl va pltotf dasturlar. Bo'sh joy o'rniga qulaylik uchun optimallashtirilgan PL formati TFM formatidagi ma'lumotlardan bir xil foydalanmaydi. Masalan, shriftdagi ko'plab belgilar bir xil belgi kengligidan foydalanishi mumkin, ular TFM formatida faqat bir marta ifodalanadi va bu qiymat har bir belgi bilan havola qilinadi, chunki indeks to'liq aniqlikdagi raqamli qiymatdan sezilarli darajada kichikroq bo'ladi. . PL formatida esa har safar paydo bo'lganda to'liq qiymat yoziladi.

Masalan, bu Y harfining katta harfi uchun kod Kompyuter zamonaviy Rim, o'n nuqta:

(CY Xarakteri (CHARWD R 0.750002) (CHARHT R 0.683332) (CHARIC R 0.025) (SHARH (KRN C e R -0.083334) (KRN C o R -0.083334) (KRN C r R -0.083334) (KRN C a R - 0.083334) (KRN CAR -0.083334) (KRN C u R -0.083334)))

Bu erda ko'rilgan kerning qiymatlari o'qishni osonlashtirish uchun PL faylining boshqa qismidan ko'chiriladi, bu o'zi ortiqcha. Yozuv konstantalarining to'liq raqamli qiymatlari har safar paydo bo'lgandan keyin qanday yozilganiga e'tibor bering, bir marta saqlanmaydi va juda kichikroq indeks bilan ataladi.

Izohlar

  1. ^ "CTAN: / tex-archive / fonts / cm / tfm /". Keng qamrovli TeX arxiv tarmog'i. 1996-07-08. Olingan 2006-07-30.
  2. ^ Knut, Donald E. (2008 yil fevral). "TFtoPL" (WEB manba kodi; yordamida to'liq hujjatlarni chiqarib olish To'quv ). 3.2 versiyasi. Olingan 2010-10-31. Iqtibos jurnali talab qiladi | jurnal = (Yordam bering)

Adabiyotlar

Tashqi havolalar