IPAK

Jarayon

o' → oʻ: oʻzbekni biladigan almashtirish

Odamlar oʻzbekchani oddiy apostrof bilan teradi. Ipak Davlat toʻgʻri belgilarni oʻzi koʻrsatadi — va inglizcha King's ga tegmaydi.

Oʻzbek lotin yozuvida ikki alohida belgi bor. ʻ — Oʻ va Gʻ harflarida, Oʻzbekiston dagidek. Va ʼ — tutuk belgisi (tutuq belgisi), ajratish belgisi, maʼno dagidek. Unicode da ularning oʻz raqamlari bor: U+02BB va U+02BC.

Amalda ularni deyarli hech kim bunday termaydi. Odamlar klaviaturadan oddiy apostrof ', yoki tipografik qoʻshtirnoq ‘, hatto teskari shtrix ` bosadilar. Windows ning oʻzbek tili uchun oʻrnatilgan tartiblari orasida faqat kirill bor (Uzbek Cyrillic); oʻzbek lotin tartibi yoʻq va ʻ (U+02BB) ni terishning oʻrnatilgan usuli ham yoʻq. Word da belgini shunday olish mumkin: 02BB ni terib, Alt+X ni bosish kifoya.

Shuning uchun taxtalarda barcha variantlar birdan uchraydi. Biz shrift nima terilganiga qaramay toʻgʻri koʻrinishi kerak deb qaror qildik.

Nima terilgani va Ipak Davlat nimani koʻrsatadi
Chapda — klaviaturadan terilgani, oʻngda — Ipak Davlat ning oʻzbek deb belgilangan matnda koʻrsatgani. Ipak; HarfBuzz (hb-view) bilan terilgan: chapda almashtirish oʻchirilgan (-calt), oʻngda --language=uz; shrift — SIL OFL 1.1 · CC BY 4.0 · Ipak

Bu qanday ishlaydi

Zamonaviy shriftda (OpenType formatida) harf chizmalaridan tashqari qoidalar ham saqlanadi. Birlari harflarni suradi — bu harflararo masofa (kerning). Boshqalari belgini qoʻshnilarga qarab boshqa belgiga almashtiradi. Bunday almashtirish kontekstli almashtirish (calt) deb ataladi.

Brauzerlar va koʻp dasturlar calt ni standart holda yoqadi. Foydalanuvchi hech narsani bosishi shart emas: u o'zbek ni teradi va oʻzbek ni koʻradi.

Oʻz belgilari

Avval belgilarning oʻzini chizdik. Asosda — Overpass da — ʻ belgisi yoʻq edi, uning qoʻshtirnogʻi — yumaloq «tomchi» — harflarning toʻgʻri kesimlariga mos kelmasdi.

Yangi belgilar — toʻgʻri kesimli uchburchaklar. Ogʻir uchi chiziqning bir yarim baravari, yengil uchi deyarli oʻtkir.

  • ʻ da massa pastda, ogʻish 10°.
  • ʼ da massa yuqorida, ogʻish 23°.
Ipak Davlat Bold dagi ʻ va ʼ
Ipak Davlat Bold ning ikki belgisi: ogʻirligi pastdagi ʻ va ogʻirligi yuqoridagi ʼ. Ipak; HarfBuzz (hb-view) bilan terilgan; shrift — SIL OFL 1.1 · CC BY 4.0 · Ipak

Birinchi versiya sodda edi: ikkala belgi qiyshiq chiziqday koʻrinardi va faqat uchlari qalinligi bilan farqlanardi. Tekshirishda mayda oʻlchamda ularni ajratib boʻlmasligi maʼlum boʻldi. Endi siluetlari turli tomonlarga qaragan.

Qoidalar

Qoidalar bir nechta va tartib muhim: birinchi mos kelgani ishlaydi. Ular toʻrtta terilgan belgi uchun ishlaydi: ' ‘ ’ `.

O dan keyin — faqat soʻz ichida. o'zbek → oʻzbek. Lekin ‘metro’ da o dan keyingi yopuvchi qoʻshtirnoq — belgi emas, qoʻshtirnoq. Soʻz ichida undan keyin harf keladi, oxirida — yoʻq. Belgining belgisi ana shu.

G dan keyin — soʻz oxirida ham. Oʻzbek tilida gʻ bilan tugaydigan soʻzlar koʻp: bogʻ, togʻ, sogʻ. Shuning uchun bog' → bogʻ.

Inglizcha 's uchun istisno. King's, dog's — qaratma shakli. Qoʻshtirnoqdan keyin s tursa va soʻz tugasa, ʻ qoʻyilmaydi. Lekin bog'siz (bogʻsiz) — soʻz ichida, u yerda ʻ kerak.

ng soʻz oxirida. Oʻzbek tilida ng — bitta harf, undan keyin ʻ boʻlmaydi. Demak, ‘tong’ da ng dan keyingi qoʻshtirnoq — qoʻshtirnoq. Soʻz ichida esa, aksincha, n dan keyin gʻ uchraydi: qoʻngʻiroq, changʻi, toʻngʻich.

Harflar orasida — ʼ. Ikki harf orasida turgan hamma narsa tutukka aylanadi: ma'no → maʼno, san'at → sanʼat. Soʻz oxirida ʼ qoʻyilmaydi: man' da qoʻshtirnoq qoladi.

Tillar

Oʻzbek tili uchun foydali qoida ingliz tili uchun zararli. O'Brien OʻBrien boʻlib qolmasligi, don't — donʼt boʻlib qolmasligi kerak.

Shrift qoidalarni turli tillar uchun har xil yoqishi mumkin. Til matn belgisidan olinadi: saytda bu — lang atributi. Biz almashtirishni oʻzbek tili (UZB tegi) va tili koʻrsatilmagan matn uchun yoqdik. Ingliz, nemis, fransuz, ispan, italyan, portugal va rus tillari uchun u oʻchirilgan. Overpass da oʻz sozlamalari bor tillar uchun ham oʻchirilgan: turk, ozarbayjon, qozoq, katalan, golland va boshqalar.

Bu yerda tekshirishda topilgan tuzoq bor. Sahifada til koʻrsatilmasa, brauzer interfeys tilini qoʻyadi — masalan, ingliz yoki rus tilini. Ularga qoida oʻchirilgan va tashrifchi almashtirishni koʻrmaydi. Shuning uchun maslahat: saytdagi oʻzbek matnni belgilash kerak — lang="uz".

Belgilanmagan matnda-chi? Qoidalar ishlaydi. King's u yerda apostrof oʻrniga tutuk ʼ oladi: g bilan s orasida harflar orasidagi belgi turadi. Oʻzbek yozuvi uchun bu qoʻrqinchli emas, ingliz matnni esa belgilab qoʻygan maʼqul.

Regressiya: qoʻngʻiroq

Eng koʻp saboq beradigan voqea tekshirishda yuz berdi. Regressiya — boshqa narsani tuzatishdan soʻng avval ishlagan joyda paydo boʻladigan xato.

Oʻzbek tili boʻyicha tekshirishda maʼlum boʻldi: ‘tong’ da (tong, qoʻshtirnoq ichida) yopuvchi qoʻshtirnoq ʻ ga aylanadi. ‘tongʻ chiqardi. Biz qoida qoʻshdik: ng dan keyin belgi qoʻymaslik.

Keyingi tekshiruv bloker — shriftni chiqarib boʻlmaydigan xato — topdi. Yangi qoida soʻz ichida n dan keyin gʻ turadigan soʻzlarni buzdi. ng dan keyin endi «harflar orasida» umumiy qoidasi ishlaydi va ʻ oʻrniga ʼ chiqardi.

qoʻngʻiroq: xato va tuzatish
Tekshirishda topilgan xato va tuzatish. Yuqori satr qoʻlda takrorlangan: ʼ belgisi toʻgʻridan-toʻgʻri terilgan. Ipak; HarfBuzz (hb-view) bilan terilgan; shrift — SIL OFL 1.1 · CC BY 4.0 · Ipak

Tuzatish — bitta qoida oʻrniga ikkita. Soʻz ichida ng dan keyin — ʻ. Soʻz oxirida ng dan keyin — qoʻshtirnoq qoʻshtirnoq boʻlib qoladi. Qoidalar tartibi muhim va yigʻishda mustahkamlangan.

Lekin asosiy narsa tuzatish emas. Xatoni boshqasini tuzatar ekanmiz, oʻzimiz kiritdik. Demak, bunday narsalarni koʻz bilan ushlab boʻlmaydi. Biz haqiqiy soʻzlar ustida test ochdik. Har bir holat — nima terilgani, qaysi tilda va nima chiqishi kerakligi. HarfBuzz dasturi matnni brauzer kabi yoyadi va tanlangan belgilarni kutilgan bilan solishtiradi.

Almashtirish boʻyicha topilgan har bir mulohaza testning yangi qatoriga aylanadi va har bir holat ikkala koʻrinishda tekshiriladi. Hammasi oʻtadi. Testda qoʻngʻiroq ham, ‘tong’ ham, King's ham, turk, ozarbayjon, qozoq, nemis va fransuz tillarida belgilangan matnlar ham bor — ularda almashtirish boʻlmasligi kerak.

Maʼlum cheklov

Bitta joyini qoida ochiq aytib ajratolmaydi. Qoʻshtirnoq ichida -g bilan tugaydigan oʻzlashma soʻz, masalan 'pedagog', shrift uchun bog' bilan bir xil koʻrinadi. Yopuvchi qoʻshtirnoq ʻ boʻlib qoladi. Ularni faqat lugʻat bilan ajratish mumkin, shrift esa lugʻatni bilmaydi. Cheklov xatti-harakati sezilmaydan oʻzgarmasligi uchun testda mustahkamlangan.

Yakun

Ipak Davlat dagi almashtirish — beshta qoida va tillar roʻyxati. Qadrasi murakkabligida emas, haqiqiy soʻzlar ustida sinalganida: tekshirishda yana taxminan toʻqson soʻz oʻtkazildi — Fargʻona, yongʻoq, Qoʻngʻirot, moʻgʻul, musʼhaf, bemaʼni — hammasi toʻgʻri.

Foydalanuvchilarga maslahat oddiy. Iloji boʻlsa, U+02BB va U+02BC ni tering. Boʻlmasa — odatlaganingizday tering, oʻzbek matnni esa oʻzbek deb belgilang. Qolganini shrift bajaradi.

Manbalar

  • U+02BB, U+02BC, U+2018, U+2019 belgilarining raqamlari va nomlari — Unicode jadvallari.
  • Windows tartiblari — Microsoft ning «Keyboard identifiers and input method editors for Windows» roʻyxati.
  • calt xususiyati va UZB til tegi — OpenType spetsifikatsiyasi, Microsoft Typography.
  • Brauzerlarda calt: font-variant-ligatures ning normal qiymati odatda kontekst shakllarni yoqadi — MDN.
  • lang atributi — MDN.
  • Qoidalar, tillar, test — bizniki: Ipak Davlat v0.1 yigʻishida, 2026-yil oktabr.

Havolalar: