Web'de Farsça tipografi
Farsça tipografi güzel bir yazı tipi seçmekle başlamaz; teknik bir koşulla başlar: yazı tipi harf biçimlendirme tablolarını taşımalıdır, yoksa harfler birleşmez ve metin okunmaz hâle gelir. Ondan sonra Latin tipografisinde karşılığı olmayan dört karar kalır: yazı tipi dosyasının ağırlığı, yarım boşluğun yeri, rakamların biçimi ve Farsçada yanlış olan Arap harfleri.
- Ders 5 / 12
- Orta
- Ücretsiz, kayıt yok
İşi teslim etmeden önce bir Farsça dizgi denetim sayfası
Bulunmalı
- Yazı tipi init, medi ve fina taşıyor ve harfler gerçekten birleşiyor
- Farsça rakamlar yazı tipinin içinde ve başkasından ödünç alınmıyor
- En az iki gerçek ağırlık var, böylece tarayıcı yapay kalın üretmiyor
- Satır aralığı Farsça için, Latinceye yetenin ötesinde açılmış
- font-display optional, böylece yazı tipi değişimi düzeni kaydırmıyor
Bulunmamalı
- Farsça harf yerine Arapça harf, başlıklarda bir kez bile
- Kaynaşmış sözcükler, yani doldurulmak yerine boş bırakılmış yarım boşluk yeri
- Bir genişliği doldurmak ya da iki satırı denkleştirmek için tatvil karakteri
- İki yana yaslama; tarayıcı bunu sözcük boşluklarını açarak yapar
- Tek bir tablo ya da cümlede karışmış Latin ve Farsça rakamlar
Bu liste Farsça yazıyla ilgilidir ve genel bir tipografi denetiminin yerine geçmez: ölçek, satır uzunluğu ve hiyerarşi ayrıca denetlenmelidir.
Son kontrol: Bu dersteki bilgiler ve araç adları bu tarihte kaynaklarıyla yeniden doğrulanır.
Farsçada Latincede olmayan ne var?
Temel fark, Farsçada bir harfin biçiminin komşularına bağlı olmasıdır. Tek bir harfin dört biçimi olabilir: yalın, sözcük başı, sözcük ortası ve sözcük sonu. Be harfi barf, abr ve ketab sözcüklerinde ekranda üç ayrı biçim alır ve bilgisayarın belleğinde tek bir kod noktasıdır.
Bu tek cümle, Farsça tipografideki teknik sıkıntıların çoğunun kaynağıdır. Latin bir yazı tipinde kod noktasından glife basit bir eşleme vardır; Farsça bir yazı tipi ise her konumda hangi glifin çizileceğine karar veren bir kural katmanına ihtiyaç duyar. Sonraki bölüm o katmanla ilgili.
Tasarımı doğrudan ilgilendiren üç fark daha. Birincisi, Farsçada büyük harf yoktur; dolayısıyla Latincedeki en yaygın hiyerarşi kollarından biri burada hiç yoktur ve yerini ağırlık, boyut ve boşluk alır. İkincisi, noktalar anlam taşır ve dört harf yalnızca noktayla ayrılır; bu da noktaları küçük ya da yapışık çizen bir yazı tipini küçük boyutlarda tehlikeli kılar. Üçüncüsü, harflerin büyük bir bölümü taban çizgisinin altına iner; Farsça metnin, Latince için yeten satır aralığında kalabalık görünmesinin nedeni budur.
Ve daha az anılan, kendini yerleşimde gösteren bir fark: Farsça harf genişlikleri Latincedekilerden çok daha fazla değişir. Bu sitenin kullandığı yazı tipinde alfabenin yalın biçimleri, 1000 birimlik bir em'in 209 ile 1223 birimi arasında değişir. Aynı sayıda harf içeren iki Farsça sözcüğün genişlikleri bu yüzden tümüyle farklı olabilir ve karakter sayısına dayanan her tahmin Farsçada Latinceden daha az kesindir.
Farsça bir web yazı tipi neyi taşımalı?
Kısa yanıt: biçimlendirme tabloları. OpenType biçiminde bunlara özellik denir ve her birinin dört harfli bir etiketi vardır. Farsça için hayati olan üçü init, medi ve fina'dır: baş, orta ve son biçimler. Yanlarında, lam-elif gibi zorunlu bitişikleri kuran rlig ve gerekli birleştirme ile ayrıştırmayı yapan ccmp bulunur.
Bu tablolar eksik olduğunda tarayıcı hata vermez. Metni dizer ama harfleri birleştirmez ve ortaya, her Farsça okurun bir bakışta yanlış olduğunu anladığı ama nedenini söyleyemediği bir şey çıkar. Farsça metne Latin bir yazı tipi koyduğunuzda ya da özellikleri sıyrılmış budanmış bir yazı tipi aldığınızda olan tam olarak budur.
Bu sayfanın dizildiği yazı tipi bu özellikleri kendi dosyasında taşıyor: ccmp, init, medi, fina, rlig, calt, locl ve birkaç isteğe bağlı özellik. Bunu dökümevinin açıklamasından değil, fontTools kitaplığıyla dosyanın kendisinden okuduk. Bir yazı tipini değerlendiriyorsanız bu denetim tekrarlanabilir ve beş dakika sürer.
Seçimden önce denetlenecek üç koşul daha. Birincisi gerçek ağırlıklar; tek ağırlıklı bir aile, tarayıcının vurgu için yapay kalın üretmek zorunda kalması demektir ve Farsçada sonucu kötüdür. İkincisi, yazı tipinin içindeki Farsça rakamlar; bu dersin beşinci bölümü. Üçüncüsü web lisansı; müşteri projesinde bu teknik bir ayrıntı değil hukuki bir meseledir.
Bir Farsça harf son biçimini nasıl bulur
Her adım yazı tipi dosyasının içindeki bir tablodur. Biri eksikse sonrakiler de çalışmaz.
-
1
Tek bir kod noktası saklanır
Bellekte harf tek bir sayıdır; sözcüğün başında mı sonunda mı olduğu fark etmez.
-
2
ccmp: birleştirme ve ayrıştırma
Harf ve işaretleri, sonraki kuralların üzerinde çalışabileceği bir biçime sokulur.
-
3
init, medi ve fina
Dört biçimden hangisinin çizileceğine komşular karar verir. Bu tablo olmadan harfler ayrı kalır.
-
4
rlig: zorunlu bitişikler
Lam ile elif tek bir glife dönüşür. Bu bitişik isteğe bağlı değildir ve olmadan metin yanlış görünür.
-
5
Ekrandaki glif
Okurun gördüğü şey. Yolun başında tek bir kod noktası, sonunda birkaç olası biçim.
Bu sıra Farsça ve Arapça içindir. Aynı yazıyı kullanan başka dillerin kendi kuralları vardır ve bir yazı tipi bunları locl özelliğiyle ayırabilir.
Yazı tipini kırmadan hafifletmek
Farsça bir yazı tipi Latin eşdeğerinden büyüktür, çünkü harf başına bir değil birkaç glif taşır. Onu hafifletmenin standart yolu budamadır: yazı tipinin bu sitenin asla ihtiyaç duymayacağı bölümlerini çıkarmak.
Bu sitenin gerçek sayıları, dosyaların kendisinden okundu: normal ağırlıktaki tam yazı tipi 42.708 bayt, yaklaşık 41,7 KB, 726 glif ve 652 kod noktasıyla. Budanmış sürüm 25.272 bayt, yaklaşık 24,7 KB, 599 glif ve 527 kod noktasıyla. Bu sitenin gerçekten yüklediği üç ağırlık birlikte 76.364 bayt, yaklaşık 74,6 KB eder.
Şimdi neyin çıkarıldığına gelelim; budamanın tahminden ayrıldığı yer burasıdır. 125 kod noktası gitti ve bunların 107'si aksanlı Latin harfleri: makronlu A'dan kayrağı olan C'ye kadar, yani bu sitenin yazmadığı dillerin alfabeleri. On beşi daha birleşen işaretler. Tek bir Farsça, Arapça ya da Türkçe harf düşmedi ve Türkçeye özgü harflerin hepsi duruyor; çünkü bu site dört dilde yazılıyor ve hepsi tek bir yazı tipini paylaşıyor.
Ve bu işi her şeyden çok bozan tuzak: "sayfada kullanılan karakterler" temelinde budama. Bir yazar o listenin dışında bir harf içeren bir sözcük yazdığı gün, o harf başka bir yazı tipiyle işlenir. İkinci tuzak daha kötü ve Farsça yazıya özgü: budayıcıyı yerleşim özelliklerini korumayacak biçimde ayarlarsanız, init, medi ve fina tabloları da onlarla gider ve harfler dağılır. pyftsubset varsayılan kipinde bu özelliklerden bir küme korur; tehlike, birinin o listeyi Latin ihtiyaçlarına göre elle yeniden yazmasıyla gelir.
Boyut kadar önemli bir ayar daha: font-display. swap ile tarayıcı önce bir yedek gösterir ve sayfa ortasında değiştirir; tam o anda düzen kayar. optional ile, yazı tipi zamanında gelmezse yedek o ziyaret boyunca kalır ve hiçbir değişim olmaz. Harf genişlikleri yedekten keskin biçimde ayrılan Farsça için bu düzen kayması farkı büyüktür.
Yarım boşluk tam olarak nereye ait?
Yarım boşluk, bir sözcüğün iki parçasını tam boşluk koymadan ayrı tutan görünmez bir karakterdir: U+200C. Standart Farsça tipografide doğrudur ve nereye geleceği açık bir kurala uyar.
Kural şu: yarım boşluk yalnızca kökün son harfi bir sonrakine bağlandığında gerekir. Kök elif, dal, zel, re, ze, je ya da vav ile bitiyorsa o harf ileriye zaten bağlanmaz ve ayrı biçimini alır; dolayısıyla bitişik yazım baştan doğrudur ve yarım boşluk istemez. Bu yüzden کارها, بارگذاری ve بالاتر doğrudur ve bölünmemelidir; buna karşılık standart şimdiki zaman biçimi olan میشود, önek ile gerisi arasında bir yarım boşluk taşır.
Ve her ikisinden de kötü olan hata: yarım boşluğu değiştirmek yerine silmek. O karakteri kaldırıp yerine hiçbir şey koymazsanız iki sözcük kaynaşır ve میشود çıkar; bu standart Farsçada yanlıştır ve küçük boyutlarda okunması da güçtür. Herhangi bir nedenle metninizde görünmez bir karakter istemiyorsanız, bulunduğu yere hiçbir şey değil, sıradan bir boşluk koyun.
Bu sitenin kendi tutumunu da açıkça söyleyelim, çünkü okur onu tam bu sayfada görüyor: yayımlanan metinlerimizde yarım boşluk yerine sıradan boşluk kullanıyoruz, yani می شود. Bu editoryal bir seçimdir, dilsel doğruluk iddiası değil; nedeni, metindeki görünmez bir karakterin aramada ve metin araçlarında öngörülemez davranmasıdır ve metnimizin görülemeyen hiçbir şey içermemesini yeğliyoruz. Siz başka karar verip yarım boşluğu korursanız bu tümüyle savunulabilir. Hiçbir koşulda savunulamayan şey kaynaşmış biçimdir.
Yazım için pratik bir not: standart Farsça klavye düzeninde yarım boşluk shift ile boşluktur. İçerik ekibiniz bunu bilmiyorsa metniniz üç biçimin karışımı olur ve bu olabilecek en kötü sonuçtur, çünkü kendi site aramanız sözcükleri bulamaz hâle gelir.
Kökün son harfi bir sonrakine bağlanıyor mu?
Yarım boşluğun yeri burasıdır
- mi + şeved
- hane + ha
- rotbe + bandi
- nevişte + am
Bitişik yazım baştan doğrudur
- karha
- bargozari
- balatar
- keşverha
Tipografik açıdan Farsça rakamlar
Birbirine benzeyen ve aynı olmayan üç rakam ailesi vardır: Latin 0 ile 9 arası, Farsça rakamlar ve Arapça metinde kullanılan Arap-Hint rakamları. Farsça ile Arap-Hint rakamları on biçimin dördünde ayrılır, gerisini paylaşır; karıştırmayı kolaylaştıran da bu benzerliktir.
Tipografik olarak iki şey önemlidir. Birincisi, yazı tipiniz Farsça rakamları gerçekten içermelidir; içermiyorsa tarayıcı onları başka bir yazı tipinden ödünç alır ve cümlenin ortasında sayılar birden farklı bir yükseklik ve kalınlık kazanır. Bunu otuz saniyede görebilirsiniz: metninizin yanına bir Farsça sayı yazın ve yakından bakın.
İkincisi, rakam genişliği. Tablolarda ve sayıların alt alta geldiği her yerde rakamlar tek bir genişliği paylaşmalıdır, yoksa sütun dağılır. Farsça yazı tiplerinin çoğu buna uyar, hepsi değil; denetleme yolu, farklı rakamlar içeren birkaç sayıyı alt alta yazıp sağ kenarlarının düz bir çizgi olarak kalıp kalmadığına bakmaktır.
Bu sitenin yazı tipi üç aileyi de içeriyor: Latin, Farsça ve Arap-Hint. Sitenin Farsça ve Arapça sürümlerinin tek bir yazı tipi dosyasıyla çalışırken her birinin kendi doğru rakamlarını koruyabilmesini sağlayan da budur.
Ve bu dersin kasten aşmadığı bir sınır: formlardaki Farsça rakamlar ayrı ve teknik bir sorundur, tipografik değil. Standart doğrulama kalıpları Farsça rakamları rakam olarak tanımaz ve bunun için bir önlem almazsanız, numarasını Farsça klavyeyle yazan kullanıcı "geçersiz numara" iletisi alır. O tartışma, çözümüyle birlikte, arayüz tasarımı ilkeleri dersinde duruyor.
Farsçada yanlış olan Arap harfleri
Farsça ile Arapça tek bir yazıyı paylaşır ve birkaç harfte ayrılır; Farsça metinlerin kimse fark etmeden Arap harfleriyle dolu olmasının nedeni budur. En önemlileri üç tanedir: Farsça ye yerine Arapça ي, Farsça kef yerine Arapça ك ve Farsçada hiç yeri olmayan, he olması gereken ة.
Ekranda neredeyse aynı göründüklerine göre bu neden önemli? Çünkü bilgisayar için aynı değiller. Kendi site aramanız, Farsça kefle yazılmış bir sözcük ile Arapça kefle yazılmış aynı sözcüğü tek bir şey saymaz, alfabetik sıralama bozulur ve arama motoru iki farklı dizi görür. Başlığı Arapça ye ile yazılmış bir sayfa, kullanıcının Farsça ye ile yazdığı bir sorgu için aynı sayfa değildir.
Tipografik bir etkisi de var: Farsça ye ile Arapça yenin son biçimi çoğu yazı tipinde farklıdır, çünkü biri iki nokta taşır öteki taşımaz. Karışık metin sözcük sonlarında tutarsız görünür ve kimse nedenini söyleyemez.
İkinci aile hemze biçimleridir. Standart Farsçada tesir, mebde ve cüz gibi sözcükler hemzesiz yazılır. Ve izafet için he üstüne hemze eklemek, yani خانۀ yazmak, bugünkü Farsçada daha iyi karşılıkları olan bir biçimdir: bir boşluk ve bir ye, ya da hiçbir şey.
Bu harflerin kaynağı genelde tek bir belirli yerdir: klavye. Arapça düzenler ve bazı varsayılan mobil düzenler Arap harfleri üretir. Bir içerik ekibiniz varsa bunu sayfa sayfa değil, bir kez toplantıda çözün; bu dersteki hızlı yol, üç aileyi de tek çalıştırmada bulan bir komut taşıyor.
Uzatma ve sahte kalın: yapılmaması gereken iki şey
Birincisi, harfleri U+0640 tatvil karakteriyle uzatmaktır; sözcüğü کـــتاب gibi bir şeye çevirir. Hatta uzatma gerçek ve ince bir araçtır ve tanımlı bir yeri vardır. Web metninde ise neredeyse hep bir genişliği doldurmak ya da iki satırı denkleştirmek için kullanılır ve sorun tam da orada başlar: sözcük artık aynı dizi değildir, arama onu bulmaz, ekran okuyucu başka türlü okur ve metin bir telefona ulaştığında masaüstü için ayarlanmış bir uzatma anlamsızlaşır.
İkincisi sahte kalındır. Bir yazı tipinin kalın ağırlığı yokken 700 ağırlığı istediğinizde tarayıcı harfleri kendisi kalınlaştırabilir. Latincede sonuç katlanılabilir; Farsçada değil, çünkü makine kalınlaştırması harflerin içindeki gözleri doldurur ve noktaları gövdeye yapıştırır. Doğrusu gerçek bir ağırlığa sahip olmaktır; yoksa vurguyu var olmayan bir ağırlıkla değil, boyut ya da renkle kurun.
Ve hata olarak daha az tanınan bir üçüncüsü: metni iki yana yaslamak. Farsçada ayartı daha güçlüdür, çünkü Arap yazısı uzatmaya izin verir ve çirkin boşluklar olmadan yaslanabilecekmiş gibi görünür. Ama tarayıcılar bunu harfleri uzatarak değil, sözcükler arasındaki boşlukları açarak yapar ve sonuç yine aynı beyaz nehirlerdir. WCAG 1.4.8 ölçütü de metnin iki yana yaslanmaması gerektiğini açıkça söyler.
Üçünün pratik özeti: her biri bir yerleşim sorununu tipografik bir araçla çözme girişimidir. Bir metin bloğu yanlış görünüyorsa yanıt genelde harflerin kendisini kurcalamak değil, sütun genişliğini ya da satır aralığını değiştirmektir.
Yapay zekayla hızlı yol
Bu işin iki yarısı var ve ilki hiç yapay zekâ gerektirmiyor. Arap harfleri, tatvil ve Arap-Hint rakamlarının hepsi belirli karakterlerdir; tek bir grep komutu saniyeler içinde hepsini bulur ve hiçbirini kaçırmaz. İkinci yarı, boş kalmış yarım boşluk yerleridir ve orada metin kalıbı tek başına yetmez; çünkü karha'nın doğru, kaynaşmış bir rotbe-bandi'nin yanlış olduğunu bilmek sözcüğün kendisini bilmeyi gerektirir. Modelin bir aracın yapamadığı bir şeyi gerçekten yaptığı yer burasıdır.
- Sayfalarınızın metnini tek bir metin dosyasına koyun. WordPress bir sitede Dışa Aktar aracı, hatta birkaç önemli sayfanın metnini kopyalamak yeter; veritabanının tamamını çıkarmanıza gerek yok.
- Aşağıdaki grep komutunu o dosyada çalıştırın. Yazdırdığı her satır en az bir yanlış karakter içerir ve satır numarasıyla birlikte gelir. Hiçbir şey yazdırmazsa işin bu yarısı bitmiştir.
- Şimdi aynı metni ikinci reçeteyle bir modele verin. Burada hızlı bir model yerine daha güçlü bir model daha iyi çalışır, çünkü her sözcükteki karar dilsel bir yargıdır; güncel tercihimiz <a class="text-link" href="/ai/">yapay zekâ bölümünde</a> tutulur.
- Modelin çıktısını sözcük sözcük onaylayın ve üzerinde toplu değiştirme çalıştırmayın. Otomatikleştirilmemesi gereken tek adım budur; çünkü yanlış bir değiştirme, karha'yı iki sözcüğe çeviren ve zaten doğru olan metni bozan şeyin ta kendisidir.
Kopyalamaya hazır şablon
Birinci adım, yapay zekâsız. Bu komut dosyanızdaki her Arap harfini, her tatvili, her hemze biçimini ve her Arap-Hint rakamını satır numarasıyla bulur:
grep -nP '[\x{064A}\x{0643}\x{0629}\x{0640}\x{0621}\x{0623}-\x{0625}\x{0654}\x{06C0}\x{0660}-\x{0669}]' FILE
Sessizlik temiz demektir. Her çıktı, elle düzeltilecek bir vakadır.
İkinci adım, model için:
Bu metin Farsçadır.
{metin}
Yalnızca yarım boşluk yerinin boş bırakıldığı ve iki parçanın kaynaştığı sözcükleri bul.
Uygulaman gereken kural: yarım boşluk yalnızca kökün son harfi bir sonrakine bağlandığında gerekir. Kök elif, dal, zel, re, ze, je ya da vav ile bitiyorsa bitişik yazım doğrudur ve onu bölmemelisin. Yani karha, bargozari, balatar ve keşverha hepsi doğrudur.
Yanıtı bir liste olarak ver: bulduğun sözcük, sıradan bir boşlukla doğru biçimi ve geçtiği satır ya da cümle.
Emin olmadığın bir sözcük varsa onu "emin değilim" başlıklı ayrı bir bölüme koy ve nedenini yaz. Tahminleri kesin bulgularla karıştırma. Metni değiştirme ve düzeltilmiş bir metin geri verme; yalnızca listeyi ver.
Çıktıya güvenmeden önce: Bu yolun aşmadığı üç sınır. Birincisi, grep anlamı değil karakterleri bulur: doğru harflerle ama yanlış imlayla yazılmış bir sözcük elekten doğruca geçer. İkincisi, modeller Farsçada da hata yapar, özellikle özel adlarda ve alıntı sözcüklerde; reçetenin ondan belirsiz vakaları ayırmasını istemesinin nedeni budur ve en dikkatli okumanız gereken bölüm odur. Üçüncüsü, ikisinden de önemlisi: bu işin çıktısını sitenizin veritabanında asla toplu değiştirme olarak çalıştırmayın. Sıralamada olan sayfalarda tek bir yanlış değiştirme, herhangi bir imla hatasından pahalıya mal olur; değişiklikleri sayfa sayfa ve her birini bir insan okuyarak uygulayın.
Bu işte yapay zeka
Buradaki tutumumuz bu yoldaki diğer derslerden daha açık: Farsça dizgide modelleri görüntü üreticisi değil, metin denetçisi rolüne koyun. Arap harflerini bulmak, boş yarım boşluk yerlerini saptamak ve rakamları tutarlı kılmak gerçekten iyi yaptıkları üç iştir. İçinde Farsça metin yazılı bir görsel üretmek ise hiçbirinin güvenilir biçimde yapamadığı bir şeydir ve nedenini risk bölümü söylüyor.
Gerçekten işe yarayan araçlar
- Claude İkinci reçete için en uygunu, çünkü uzun bir metni tek parça tutar ve belirsiz vakaları ayırmasını istediğinizde her şeyi kendinden emin bir tonda yazmak yerine gerçekten ayırır. İran, Anthropic'in iki destekli ülke listesinin hiçbirinde yok; bunu Anthropic'in kendi sayfasında okuduk.
- Gemini Metniniz olmadığında ve elinizde yalnızca tasarımın bir görseli olduğunda daha iyi: görseli okur ve harflerin nerede birleşmediğini ya da rakamların cümlenin geri kalanına nerede uymadığını söyler. Google'ın kendi sayfası, Gemini web uygulamasının iki yüz otuzdan fazla ülke ve bölgede kullanılabildiğini söylüyor ve İran o listede yok.
- fontTools Yapay zekâ değil ve bu dersteki sayıların ölçüldüğü aracın ta kendisi. Bir yazı tipinin özellik listesini ve kod noktası listesini dosyanın kendisinden okur; budamayı yapan da odur. Ücretsizdir, kendi bilgisayarınızda çalışır ve makinenizden hiçbir dosya çıkmaz.
Nerede geri teper
Bu alandaki belirli risk görsellerdir. Görsel üretme modelleri Latin metinde bir yere geldi, ama Farsça için güvenilir bir yanıt vermiyorlar ve kanıt üreticilerin kendisinden geliyor: hiçbiri görsel içindeki metin için bir sayı yayımlamıyor ve her biri bunun yerine bir sıfat yazıyor; biri "gelişmiş" diyor, biri hâlâ "sorunlar olabilir" diyor, biri modelini "tipografide uzmanlaşmış" diye adlandırıyor. Üç sıfat ve sıfır ölçüm; hiçbiri Farsçadan söz bile etmiyor. Bunu görsel üretimi için en iyi yapay zekâ tablosunda yazdık ve orada bir sütuna dönüşmemesinin nedeni de budur.
Pratik sonuç: içinde Farsça metin olan afiş, logo ya da herhangi bir görsel üretmeyin. Görseli metinsiz yapın ve metni bir tasarım aracında ya da doğrudan HTML'de üzerine koyun. Harflerin doğru birleştiği ve metnin aranabilir ve seçilebilir kaldığı tek yol budur.
İkinci risk daha teknik ve sahte kalınla ilgili: bir model size CSS yazar ve yazı tipinizde olmayan bir ağırlık isterse, tarayıcı yapay kalın üretir ve Farsçada sonuç kötüdür. Çözüm, kendi CSS'inizde font-synthesis'i açıkça kapatmaktır; böylece kötü bir sonuç yerine farkı görür ve gerçek ağırlığı eklersiniz. Bu araçların İran'dan nasıl ödenebileceği için satın alma rehberine bakın.
Kaynaklar: Microsoft: OpenType layout feature tag registry fontTools: the subsetter Anthropic: supported countries Google: where the Gemini web app is available
Bu tavsiyenin sınırı
Bu ders web'deki Farsça üzerinedir ve birkaç yerde sınırı vardır. Birincisi, hat sanatı: buradaki her şey bir yerleşim motorunun ürettiği harflerle ilgilidir; nestalik ve şikeste, HTML'de yeniden kurulamayan, kendi kuralları olan başka bir dünyadır. İkincisi, tek bir cümlede Farsça ile Latinceyi karıştırmak; bu, yanıtı yazı tipinde değil sayfa yerleşiminde olan iki yönlü bir sorundur ve o tartışma arayüz tasarımı ilkeleri dersinde durur. Üçüncüsü, baskı; orada birim, renk uzayı ve satırları elle ayarlama olanağı farklıdır. Ve açıkça söylenmesi gereken bir sınır: bu dersteki yazı tipi dosyası sayıları yalnızca bu sitenin yazı tipi için doğrudur ve başka bir projeye kopyalanmaları hiçbir şeyi kanıtlamaz. Ölçme yöntemi tekrarlanabilir; sayıların kendisi değil.
Kendi işimizden
Bu sitenin yazı tipini fontTools kitaplığıyla açtık ve iki dosyayı yan yana koyduk. Tam normal ağırlık 42.708 baytta 726 glif ve 652 kod noktası taşıyor; budanmış sürüm 25.272 baytta 599 glif ve 527 kod noktası. Fark 125 kod noktası ve çıkarılanların listesini yazdırdığımızda 107'si aksanlı Latin harfi, 15'i birleşen işaretti. İki dosya da tam olarak aynı özellik kümesini taşıyor: aalt calt ccmp dlig fina init locl medi rlig salt ss01. Yani budama, birleşme tablolarına dokunmadı; doğru bir budamayı bozuk birinden ayıran da tam olarak budur.
Ve aynı ölçümün ortaya çıkardığı, önceden bilmediğimiz bir şey: sitenin yüklediği üç ağırlığın kapsamı birebir aynı, 599 glif ve 527 kod noktası, ve Türkçe bütünüyle içlerinde; ı, İ, ş, ğ, ç, ö ve ü harflerinin hepsi duruyor. Yani sitenin Türkçe sürümü, Farsça ve Arapça sürümlerle aynı dosya üzerinde çalışıyor ve tek bir yazı tipinin dört dile hizmet etmesi için gerçekten çıkarılabilir olan tek şey, bu sitenin hiç yazmadığı dillerin alfabeleriydi.
Gerçek devam soruları
Dört dil için tek yazı tipi yeter mi, yoksa her biri kendininkini mi ister?
Yazı tipinin kapsamı varsa bir tane yeter ve daha iyidir de. Her dil için ayrı bir yazı tipi yükleyen bir site hem daha çok dosya gönderir hem de sayfalarına farklı görsel karakterler verir. Yapmanız gereken, seçmeden önce dört dilin de kapsamını denetlemektir; yöntemi bu derste ve beş dakikadan fazla sürmez.
Elimdeki yazı tipinin Farsça rakamları olup olmadığını nasıl anlarım?
En basit yöntem görseldir: Farsça bir cümlenin ortasına Farsça bir sayı yazın ve yakından bakın. Rakamların yüksekliği ya da kalınlığı cümlenin geri kalanından farklıysa yazı tipinde yoklardır ve tarayıcı onları başka yerden ödünç almıştır. Daha kesin yol, kod noktası listesini dosyadan fontTools ile okumaktır; bu dersteki sayıların ölçüldüğü aracın aynısı.
Sitemde yarım boşluğu korumalı mıyım yoksa sıradan boşlukla mı değiştirmeliyim?
İki seçim de savunulabilir ve biz sıradan boşluğu seçtik; ama asıl önemli olan tutarlılıktır. Üç biçimin de göründüğü bir site en kötü durumdur, çünkü site içi arama ile kullanıcı sorguları artık örtüşmez. Tek bir karar verin, ekibinizin yazım kılavuzuna yazın ve eski sayfaları yalnızca başka bir nedenle uğradığınızda düzeltin; asla tek bir toplu çalıştırmayla değil.