Pro sürüm
Yazı tipi araçları
Bir bakışta
“Bir bakışta” başlıklı bölümNextPDF Pro, gömülü yazı tipi programlarını inceler, alt küme yazı tiplerini standart adlandırma kurallarına göre tanımlar ve tahmini bir boyut etkisiyle birlikte yapılandırılmış bir alt küme geri alım planı üretir.
Kullanılabilirlik ve lisanslama
“Kullanılabilirlik ve lisanslama” başlıklı bölümBu yetenek NextPDF Pro (nextpdf/pro) ile sunulur ve bir Pro katmanı lisans zarfıyla etkinleşir. Bu yetkiye sahip olmayan bir dağıtım, yeteneğin sınıflarını yüklemez. Sürümleri karşılaştırın ve bir lisans edinin.
Bu modülü kapılayan, özellik başına bir lisans bayrağı yoktur. Font Tools sınıfları, nextpdf/pro kurulu olduğu her durumda kullanılabilir.
Kurulum
“Kurulum” başlıklı bölümcomposer require nextpdf/pro:^3Kavramsal genel bakış
“Kavramsal genel bakış” başlıklı bölümBir PDF’teki alt küme yazı tipleri yalnızca belgenin kullandığı glifleri gömer. Kurallara göre, /BaseFont adları altı harfli büyük harf bir etiket ve ardından bir + taşır; örneğin ABCDEF+Arial. NextPDF Pro:
- Alt kümeleri algılar.
FontDesubsetter, ham PDF verisini/BaseFontgirişleri açısından tarar, alt küme önek desenini tanır ve her girişi; özgün aile adı, alt küme glif sayısı, tam glif sayısı ve kodlamayla birlikte birSubsetInfodeğer nesnesi olarak raporlar. - Alt küme geri alımını planlar.
DesubsetPlan, tam yazı tipi programlarıyla değiştirilmek üzere hedeflenen alt küme yazı tiplerini toplar ve tahmini bir bayt boyutu artışı raporlar; böylece harekete geçmeden önce alt küme geri alımının dosya boyutu maliyetine değip değmediğine karar verebilirsiniz.
Font Tools, bir analiz ve planlama katmanıdır. Neyin mevcut olduğunu ve alt küme geri alımının ne kadara mal olacağını açıklar; yazı tipi programının kendisini yeniden yazmaz.
Neden bu şekilde çalışır
“Neden bu şekilde çalışır” başlıklı bölümGömülü bir yazı tipi programını yeniden yazmak, zor ve riskli olan kısımdır. Glif hatları, ipuçlandırma ve cmap tabloları tutarlı kalmalıdır ve tek bir hata işlemeyi bozar. Bu nedenle NextPDF Pro, ucuz ve güvenli işi — envanter ve maliyet öngörüsünü — o pahalı yeniden yazmadan ayırır. Tarayıcı yalnızca baytları okur; bir yazı tipi programını hiçbir zaman ayrıştırmaz veya yürütmez, bu yüzden belirlenimci ve yan etkisiz kalır. Glif sayıları ve boyut farkı, bilinçli olarak sezgisel değerler olarak etiketlenir; böylece bir kapasite değerlendirmesi, modülün ölçemeyeceği bir sayıya güvenmek yerine dürüst kalır. Bu, tam yazı tipi programlarını temin etmeden önce alt küme geri alımının maliyete değip değmediğini tartmanıza olanak tanır.
Tasarım arka planı: Yazı tipleri: zor kısım.
API yüzeyi
“API yüzeyi” başlıklı bölüm| Sınıf | Sorumluluk |
|---|---|
FontDesubsetter | PDF verisini tarar ve alt küme yazı tipi girişlerini raporlar. |
SubsetInfo | Algılanan bir alt kümenin değişmez tanımı. |
DesubsetPlan | Hedeflenen alt kümeler ile tahmini boyut artışı. |
Kod örneği — Hızlı başlangıç
“Kod örneği — Hızlı başlangıç” başlıklı bölümuse NextPDF\Pro\FontTools\FontDesubsetter;
$subsets = (new FontDesubsetter())->analyzeSubsets($pdfBytes);foreach ($subsets as $info) { echo $info->baseFont . ': ' . $info->subsetGlyphCount . " glyphs\n";}Kod örneği — Üretim
“Kod örneği — Üretim” başlıklı bölümuse NextPDF\Pro\FontTools\FontDesubsetter;
$desubsetter = new FontDesubsetter();$subsets = $desubsetter->analyzeSubsets($pdfBytes);$logger->info('fonttools.scan', ['subset_count' => count($subsets)]);Uç durumlar ve dikkat edilmesi gerekenler
“Uç durumlar ve dikkat edilmesi gerekenler” başlıklı bölüm- Tarayıcı, altı harfli öneki olmayan bir
/BaseFontgirişini atlamak yerine alt küme olmayan bir giriş olarak raporlar. - Tahmini boyut artışı, ölçülen bir değer değil, glif başına ortalama bayta dayalı bir sezgisel değerdir.
- Algılama,
/BaseFontgirişlerinin bayt temsili üzerinde çalışır; şifreli veya yoğun sıkıştırılmış nesne akışlarının önce çözülmesi gerekebilir.
Performans
“Performans” başlıklı bölümAlt küme tarama, PDF bayt uzunluğunda doğrusaldır. Planlama, algılanan alt kümelerin sayısında doğrusaldır.
Güvenlik notları
“Güvenlik notları” başlıklı bölümFont Tools yalnızca yapısal meta veriyi okur. Yazı tipi programlarını yürütmez veya harici yazı tipi başvurularını çözümlemez.
Uygunluk
“Uygunluk” başlıklı bölüm| Davranış | Başvuru | Durum |
|---|---|---|
| Alt küme yazı tipi adlandırma kuralı | ISO 32000-2 §9.9.2 | Hizalanmış (yorumlanarak) |
Davranış sözleşmesi
“Davranış sözleşmesi” başlıklı bölümFontDesubsetter::analyzeSubsets(), ham PDF verisini/BaseFontgirişleri açısından tarar, altı-harfli-büyük-harf-artı-+alt küme önekini tanır ve her birini; özgün aile adı, alt küme glif sayısı, tam glif sayısı ve kodlamayla birlikte değişmez birSubsetInfoolarak döndürür.- Alt küme öneki olmayan bir
/BaseFont, atlanmak yerine alt küme olmayan bir giriş olarak raporlanır. DesubsetPlan, değiştirilmek üzere hedeflenen alt kümeleri toplar ve glif başına ortalama bayta dayalı tahmini bir bayt boyutu artışı raporlar — ölçülen bir değer değil, bir sezgisel değer.- Bu, bir analiz ve planlama katmanıdır. Neyin mevcut olduğunu ve alt küme geri alımının ne kadara mal olacağını raporlar; yazı tipi programını yeniden yazmaz, yazı tipi programlarını yürütmez veya harici yazı tipi başvurularını çözümlemez.
Enterprise sınır notu
“Enterprise sınır notu” başlıklı bölümEnterprise, Font Tools davranışını değiştirmez. Enterprise, ayrı olarak belgelenen üst katman özellikleri ekler; bunlar alt küme algılaması veya alt küme geri alım planlaması için gerekli değildir.
Core geri dönüşü / alternatifi
“Core geri dönüşü / alternatifi” başlıklı bölümNextPDF Core’un açık kaynaklı yazı tipi işlem hattı, temel yazı tipi gömmeyi işler. Alt küme sayımı ve alt küme geri alım planlaması Pro eklentileridir. Bkz. /modules/font/.
Yayımlama sınırı
“Yayımlama sınırı” başlıklı bölümBu sayfa yalnızca dışarıdan gözlemlenebilen davranışı ve desteklenen genel API yüzeyini belgeler. İç ad alanı yolları, yardımcı sınıflar, mekanizma tabloları, runbook dosya adları ve ticket önekleri kapsam dışıdır.
Ayrıca bkz.
“Ayrıca bkz.” başlıklı bölüm- Font Tools — Derinlemesine başvuru — API sözleşmesi, davranış ve hata modları.
- Optimizer — dosya boyutu optimizasyonu.
- Core yazı tipi modülü — açık kaynaklı yazı tipi işleme.