GNU Unifont - GNU Unifont

GNU Unifont
Unifont namunasi, v12.0.01.png
TurkumUnicode, Bitmap, Sans-serif
TasnifiDuospace
Dizayner (lar)Rim Tsyborra, Pol Xardi
Yaratilgan sana1998
Sana chiqarilgan kun13.0.03 (2020 yil 3-iyul); 4 oy oldin (2020-07-03)) [±]
LitsenziyaGNU umumiy jamoat litsenziyasi
Barcha belgilarni ko'ring
Veb-saytasossiz.com/ unifont/indeks.html

The GNU Unifont Roman Csyborra tomonidan bepul Unicode oraliq bitmapped shrift formatidan foydalangan holda bitmap shrifti. Asosiy Unifont to'liq qamrab oladi Asosiy ko'p tilli samolyot (BMP), "Upper" sherigi .ning muhim qismlarini qamrab oladi Qo'shimcha ko'p tilli samolyot, va "Unifont JP" sherigi yapon tilini o'z ichiga oladi kanji mavjud JIS X 0213 belgilar to'plami.

Bu eng bepul mavjud operatsion tizimlar kabi oyna tizimlari Linux, XFree86 yoki X.Org serveri va ba'zi bir o'rnatilgan dasturiy ta'minot RockBox. Shrift ostida bosilgan GNU umumiy jamoat litsenziyasi 2+ versiyasi bilan shriftni kiritish uchun istisno (shriftni hujjatga kiritish, hujjatni bir xil litsenziya ostida joylashtirishni talab qilmaydi).

U 2013 yil oktyabr oyida GNU to'plamiga aylandi. Hozirgi xizmat ko'rsatuvchi Pol Xardi.

Holat

The Unicode Asosiy ko'p tilli samolyot 2. qopqoq16 (65,536) kod punktlari. Ushbu raqamning 2048 tasi UTF-16 sifatida maxsus foydalanish uchun ajratilgan surrogat juftlari va 6400 kishi uchun ajratilgan xususiy foydalanish. Bu gliflar tayinlanishi mumkin bo'lgan 57.088 kod punktlarini qoldiradi. Ushbu kod punktlarining ba'zilari tayinlangan glifga ega bo'lmagan maxsus qiymatlardir, ammo ko'plari tayinlangan gliflarga ega.

2019 yil may oyidan boshlab, GNU Unifont-ning to'liq qamrovi mavjud Asosiy ko'p tilli samolyot Unicode 12.1.0 da belgilanganidek. Unifont Upper va Unifont CSUR sherik shriftlari Qo'shimcha ko'p tilli samolyot va ConScript Unicode registri navbati bilan.

12.1.02 versiyasi uchun 10000 yapon tilini qamrab olgan Unifont JP chiqarildi kanji mavjud JIS X 0213 belgilar to'plami, ularning ba'zilari Qo'shimcha ideografik samolyot. U jamoat mulki shrifti bo'lgan Jiskan16 dan olingan.

100% dan kam bo'lgan skriptlarni har qanday ishtirokchi qo'shishi mumkin.

Taxminan 20000 kishilik katta blok CJK ideograflar ko'chirildi WenQuanYi "s Unibit ruxsat bilan shrift.[1](Ven Quan Yi: Maktublar bahori)

Biroq, qamrab olinishiga qaramay, Unifont har bir chop etiladigan Unicode kod punktiga bitta glifni saqlaydi. Shunday qilib, unda skriptlarni murakkab maketlar bilan (xususan hind skriptlari) to'g'ri ishlashi uchun zarur bo'lgan OpenType funktsiyalari mavjud emas va agar bu kombinatsiyalar Unicode-da oldindan biriktirilgan shaklida kodlanmagan bo'lsa, asosiy harflar bilan birlashtiruvchi diakritikalarni to'g'ri joylashtiring; shuningdek, kontekstli shakllar (shu jumladan qo'shilish turlari va qo'shma klasterlar) ishlov berilmaydi: bu asosiy shriftga qo'shilishi uchun gliflar sonini ko'paytiradi va barcha kerakli gliflarni kodlash uchun hali ham mumkin emas (mavjud OpenType cheklovlari sababli). bitta Unicode tekisligida mavjud bo'lishi mumkin bo'lgan barcha kerakli kombinatsiyalarni ifodalaydi (bu ayni paytda ikkita tekislikda kodlangan barcha ideogrammalarni to'liq qamrab ololmaydigan xitoy shriftlari uchun ham amal qiladi, shuningdek Unicode-ning keyingi 13.0 versiyasidan boshlab uchinchi tekislikda). Keyinchalik bunday shrift faqat "oxirgi chora" sifatida ishlatilishi mumkin, bu oddiy alifbo skriptlari uchun yoki ajratilgan belgilarni ko'rsatish uchun mos keladi, lekin haqiqiy matnlarni to'g'ri o'qishni qiyinlashtiradi yoki ba'zan imkonsiz qiladi. Hind abugidalarini to'g'ri ko'rsatish uchun (va agar ular o'zlarining ixtiyoriy birlashtiruvchi diakritikalari bilan yozilgan bo'lsa, semit abjadlari), shriftlardan oldin shriftlarda boshqa shriftlar ko'rsatilishi kerak va qo'shimcha tekisliklarda kodlangan xan ideograflarini yopish yoki aksariyatini ko'rsatish uchun qo'shimcha shriftlar kerak bo'ladi. BMP-da kodlanmagan tarixiy (yoki ozchilik zamonaviy) skriptlar.

Tarqatish

Namuna Yapon va Xitoy

Unifont, 12.0.0 versiyasiga ko'ra, vektorda mavjud TTF, BDF va PCF "standart qurilish" uchun format. Faqat TrueType tuzilishi Unifont va ikkita sherik shriftga bo'linadi.[1]

Bir nechta "ixtisoslashtirilgan versiyalar" so'rov bo'yicha qurilgan va Pol Xardi tomonidan taqdim etilgan. Ular uchun kodli nuqta qiymatlari bilan to'ldirilgan bo'sh gliflar bilan bittap TTF (SBIT) xaritasi kiradi FontForge foydalanuvchilar o'qish uchun, a PSF uchun gliflar bilan bitmap APL dasturchilar va Romanning .hex formatidagi bitta faylli versiyalari (pastga qarang).[1] Manbaning haqiqiy tashkil etilishi birlashtirilishi va tuzilishda boshqa formatlarga o'tkazilishi kerak bo'lgan kichikroq .hex fayllaridan iborat.[2]

Vektorizatsiya

Luis Alejandro Gonsales Miranda BDF shriftini vektorlashtirish va o'zgartirish uchun skriptlar yozgan TrueType formatidan foydalanib FontForge.[3]Pol Xardi ushbu skriptlarni TrueType-ning so'nggi versiyalari uchun birlashtiruvchi belgilarni (aksentlar va boshqalarni) boshqarish uchun moslashtirdi.[1](TrueType shriftini yaratish)

.Hex shrift formati

GNU Unifont .hex formati gliflarni kengligi 8 yoki 16 piksel, balandligi 16 piksel deb belgilaydi. Ko'pgina G'arb yozuvlari gliflari 8 piksel kengligi bilan belgilanishi mumkin, boshqa gliflar (xususan, xitoy-yapon-koreys yoki CJK to'plami) odatda 16 piksel kengligi sifatida belgilanadi.

Unifont.hex fayli har bir glif uchun bitta qatorni o'z ichiga oladi. Har bir satr to'rt xonali Unicode o'naltılik kod nuqtasi, ikki nuqta va bitmap qatoridan iborat. Bit satr kengligi 8 pikselli glif uchun 32 o'n oltita raqam yoki 16 piksel kengligi uchun 64 o'nli raqam. Maqsad yangi gliflarni qo'shishni osonlashtiradigan oraliq formatni yaratishdir.

Bit qatoridagi '1' bit 'on' pikselga to'g'ri keladi. Pikselli bitlar yuqoridan pastga, chapdan o'ngga saqlanadi.

Misol

Bu ASCII kapitali 'A' uchun bitta glifni o'z ichiga olgan shrift namunasi.

0041: 0000000018242442427E424242420000

Birinchi raqam - o'n oltinchi Unicode kod nuqtasi, oralig'i 0000 dan FFFFgacha. 0041 o'n oltinchi o'nlik kasr 65, 'A' harfi uchun kod nuqtasi. Yo'g'on nuqta kod nuqtasini bitmapdan ajratib turadi. Ushbu misolda glifning kengligi 8 pikselni tashkil qiladi, shuning uchun bit qatori 32 o'n oltinchi raqamdan iborat.

Bit qatori 8 noldan boshlanadi, shuning uchun eng yuqori 4 qator bo'sh bo'ladi (8 bit bayt uchun 2 o'n oltinchi raqam, 8 piksel kengligi uchun har bir satrda 8 bit). Bit qatori ham 4 nol bilan tugaydi, shuning uchun pastki 2 qator bo'sh bo'ladi. Oddiy shrift tushiruvchisi asosiy satrdan 2 qator, bosh harf balandligi esa boshlang'ich sathidan 10 qator baland bo'lishi shundan kelib chiqadi. Bu GNU Unifont-da lotin gliflari bilan bog'liq.

Vaqt o'tishi bilan formatni ishlashning bir qancha usullari ishlab chiqildi. Eng dastlabki usul bu hexdraw Ipni an ga o'zgartiradigan Perl skript ASCII san'ati matn muharririda tahrir qilinadigan vakillik. 2019 yil aprel oyidan boshlab, hozirgi usul a hosil qilishni o'z ichiga oladi bitmap tasvir kod punktlarining butun doirasi va rasm muharriri bilan ishlash uchun panjara. Ikkala holatda ham tahrirlangan gliflar yana saqlash uchun .hex fayllariga aylantiriladi.[2]

Tarix

Roman Czyborra 1998 yilda Unifont formatini yaratgan[4] 1994 yilga oid avvalgi sa'y-harakatlardan so'ng.

2008 yilda Luis Alejandro Gonsales Miranda ushbu shriftni TrueType shriftiga aylantirish uchun dastur yozdi. Pol Xardi keyinchalik uni TrueType versiyasida belgilarni birlashtirishni qo'llab-quvvatlash uchun o'zgartirdi.

Nihoyat, Richard Stallman 2013 yil oktyabr oyida Unifont GNU to'plami deb nomlangan bo'lib, uni qo'llab-quvvatlovchi Pol Xardi edi.

Adabiyotlar

  1. ^ a b v d GNU yagona shaklli gliflari
  2. ^ a b "Yagona kodli yordam dasturlari". unifoundry.com. Olingan 16 aprel 2019.
  3. ^ TrueType formatidagi GNU Unifont, dan arxivlangan asl nusxasi 2016-02-01 da
  4. ^ Roman Czyborraning GNU Unifont sahifasi
  • Unicode konsortsiumi: Unicode 5.0 standarti. 5-chi, Addison Uesli 2007 yil; ISBN  0-321-48091-0.

Tashqi havolalar