İçeriğe geç
getnextpdf.com

Pro sürüm

Yazı tipi araçları

NextPDF 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.

Bu 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.

Terminal window
composer require nextpdf/pro:^3

Bir 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 /BaseFont giriş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 bir SubsetInfo değ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.

Gö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.

SınıfSorumluluk
FontDesubsetterPDF verisini tarar ve alt küme yazı tipi girişlerini raporlar.
SubsetInfoAlgılanan bir alt kümenin değişmez tanımı.
DesubsetPlanHedeflenen alt kümeler ile tahmini boyut artışı.
use NextPDF\Pro\FontTools\FontDesubsetter;
$subsets = (new FontDesubsetter())->analyzeSubsets($pdfBytes);
foreach ($subsets as $info) {
echo $info->baseFont . ': ' . $info->subsetGlyphCount . " glyphs\n";
}
use NextPDF\Pro\FontTools\FontDesubsetter;
$desubsetter = new FontDesubsetter();
$subsets = $desubsetter->analyzeSubsets($pdfBytes);
$logger->info('fonttools.scan', ['subset_count' => count($subsets)]);
  • Tarayıcı, altı harfli öneki olmayan bir /BaseFont giriş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, /BaseFont girişlerinin bayt temsili üzerinde çalışır; şifreli veya yoğun sıkıştırılmış nesne akışlarının önce çözülmesi gerekebilir.

Alt küme tarama, PDF bayt uzunluğunda doğrusaldır. Planlama, algılanan alt kümelerin sayısında doğrusaldır.

Font Tools yalnızca yapısal meta veriyi okur. Yazı tipi programlarını yürütmez veya harici yazı tipi başvurularını çözümlemez.

DavranışBaşvuruDurum
Alt küme yazı tipi adlandırma kuralıISO 32000-2 §9.9.2Hizalanmış (yorumlanarak)
  • FontDesubsetter::analyzeSubsets(), ham PDF verisini /BaseFont giriş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 bir SubsetInfo olarak 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, 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.

NextPDF 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/.

Bu 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.