Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Aspose.Words çeşitli görevler için TrueType yazı tiplerine ihtiyaç duyar, örneğin belgelerin sabit sayfa formatlarına dönüştürülmesi, örneğin PDF veya XPS. Bir belgeyi işlerken, Aspose.Words’in TrueType yazı tiplerini sonuç belgesine gömme ve alt kümelere ayırma işlemleri gerçekleştirmesi gerekir ki bu da popüler PDF veya XPS formatları dahil olmak üzere bir belge üretimi sırasında normal bir uygulamadır. Bu, belgenin herhangi bir görüntüleyiciye aynı görüneceğinden emin olur. Ayrıca, XPS spesifikasyonu, yazı tiplerinin belgenin her zaman gömülü olmasını gerektirir.
Doğruluğunu sağlamak için Aspose.Words karakterleri doğru bir şekilde ölçmeli ve ilgili yazı tiplerini başarıyla yerleştirmelidir, bu nedenle aşağıdaki koşullar karşılanmalıdır:
Not edin ki, belge içindeki yazı tipi bir varlık (soyadı, stil, büyüklük, renk gibi) temsil eder ve TrueType yazı tipi varlığından (Fiziksel yazı tipi varlığı) farklıdır. Aspose.Words işleme aşamasında belgedeki yazı tipini fiziksel bir yazı tipine çözer. Bu, en yaygın olarak düzen oluşturma sırasında metin boyutunu hesaplama ve sabit sayfa biçimlerine gömme/alt küme ayarlama görevinin yapılmasını sağlayan bazı görevler sağlar. Birkaç başka daha az popüler görev, örneğin yazı tiplerini yüklerken çözümleme ve değiştirme veya bazı akış biçimlerine gömme/alt küme ile ilgili olanlar da etkinleştirilmiştir.
Tüm mevcut yazı tipi manipülasyon mekanizmaları FontSettings sınıfında bulunur. Bu sınıf, tanımlanan yazı tipleri kaynaklarından yazı tiplerini almak için ve aşağıda açıklandığı gibi Yazı Tipi Değiştirme işlemi için sorumludur.
Fontlar birkaç adımda ayrıştırılır:
Aspose.Words bir belge için bir yazı tipine ilk kez rastladığında, temel yazı tipi bilgilerini (yazı tipi tam adı, aile adı, sürüm, stil vb.) her yazı tipi kaynağında bulunan yazı tipi dosyalarından almayı dener. Bütün yazı tipleri alındıktan sonra Aspose.Words bu detayları gerekli yazı tipi verilerini bulmak ya da istenen yazı tipi için uygun bir değişikliği bulmak için kullanır.
Yukarıda tarif edilen prosedür zaman alıcı olduğundan, ilk çalıştırmada uygulama performansını olumsuz etkileyebilir. Ancak her bir FontSettings örneği kendi önbelleği vardır ki bu da sonraki belgelerin işlem süresini azaltabilir. Örneğin, farklı belgelerden bir FontSettings sınıfının örneğini paylaşabilirsiniz, bu da belgelerin yüklenmesini hızlandırmanızı sağlar. Aşağıdaki örnek bunu göstermektedir:
FontSettings açıkça tanımlanmadığında, Aspose.Words varsayılan bir FontSettings örneği kullanır. Bu örnek ayrıca belgeler arasında otomatik olarak paylaşılır ve şu şekilde çıkarılabilir:
Java
FontSettings fontSettings = FontSettings.getDefaultInstance();
Eğer tüm işleme belgeleri aynı yazı tipi ayarlarını gerektireceğinden emin iseniz, önerilen varsayılan FontSettings örneği kurmak ve kullanmaktır. Hadi tüm belgelerin için aynı yazı tipleri kaynaklarını kullanman gerektiğini varsayalım. Bu durumda, varsayılan örneği aşağıdaki gibi sadece değiştirebilirsiniz:
Bir belge içindeki bir metin çeşitli yazı tipleriyle biçimlendirilebilir, örneğin Arial, Times New Roman, Verdana ve diğerleri. Aspose.Words bir belgenin çıktısını aldığında, belge içinde belirtilen yazı tiplerini seçmeye çalışır.
Ancak, tam bir yazı tipinin bulunamadığı durumlar vardır ve Aspose.Words bunun yerine benzer bir yazı tipi seçmek zorundadır. Aspose.Words aşağıdaki süreçte olduğu gibi bir yazı tipi seçer:
FontConfig yardımcı programı kullanarak. Bu Windows olmayan özellik bir FontConfig uyumlu OS ile kullanılmalıdır. Neredeyse her Unix tabanlı işletim sistemine zaten sistem genelinde yazı tipi yapılandırması, özelleştirme ve uygulamalara erişim sağlayan bir FontConfig kitaplığı vardır. Aksi takdirde, bu kütüphane kullanıcı tarafından kolayca yüklenebilir.FontConfig utilitesi devre dışı bırakılmıştır. Onu aşağıdaki şekilde etkinleştirebilirsin:
Java fontSettings.getSubstitutionSettings().getFontConfigSubstitution()().setEnabled(true);
<TableSubstitutionSettings xmlns="Aspose.Words">
<SubstitutesTable>
<Item OriginalFont="Arabic Transparent" SubstituteFonts="Arial" />
…
</SubstitutesTable>
</TableSubstitutionSettings>
fontSettings.getSubstitutionSettings().getTableSubstitution().load("Table.xml");
fontSettings.getSubstitutionSettings().getTableSubstitution().save("MyTable.xml");
fontSettings.getSubstitutionSettings().getTableSubstitution().setEnabled(false);
FontInfoCollection fontInfos = doc.getFontInfos();
fontSettings.getSubstitutionSettings().getFontInfoSubstitution().setEnabled(false);
FontInfo ikamelerin başarısız olduğu durumlarda uygulanacaktır. Bu kural da varsayılan olarak etkinleştirilmiştir. Bu kurala göre, “Aspose.Words” varsayılan yazı tipini belirtilen “DefaultFontName” özelliğinde kullanmaya çalışacaktır. Kullanıcı kendi varsayılan yazı tipini seçmemişse," “Times New Roman” varsayılan yazı tipi olarak kullanılacak. Bu kural aşağıda gösterildiği gibi devre dışı bırakılabilir:" fontSettings.getSubstitutionSettings().getDefaultFontSubstitution().setEnabled(false);
fontSettings.getSubstitutionSettings().getDefaultFontSubstitution().getDefaultFontName();
fontSettings.getSubstitutionSettings().getDefaultFontSubstitution().setDefaultFontName("Arial");
Bazen, belgenin düzeninin neden değiştiğini veya bazı yazı tiplerinin beklenen gibi görünmediğini anlamak zor olabilir. Bu tür durumlarda, yazı tipi yer değiştirme uyarıları IWarningCallback arayüz tarafından uygulanan mesajlarla kurtarılır. Onlar FontSubstitution uyarı türü ve standart açıklama metni biçimi vardır, “Font ‘
Aspose.Words içinde kullanılan iki farklı mekanizma vardır - yazı tipi değiştirme ve yazı tipi geri çağırma. Tip ikame, belgedeki belirtilen yazı tipinin, yukarıdaki bölümlerde açıklandığı gibi yazı tipi kaynaklarında bulunamadığı zaman kullanılır. Font yedekleme mekanizması yazı tipi çözümlendiğinde kullanılır, ancak belirli bir karakteri içermez. Bu durumda Aspose.Words karakteri için bir yedek yazı tipini kullanmaya çalışıyor.
Kullanılabilir yazı tiplerini tarayarak otomatik olarak yedek ayarları oluşturan bir BuildAutomatic yöntemi var. Bu yöntem bir alternatif ayar üretirken en verimli olmayan düşünebilir, sen FontFallbackSettings sınıfını kullanarak yazı tipi davranışını kontrol edebilirsin. Bu sınıf yazı tipi yedekleme mekanizmasının ayarlarını belirtir. Aşağıdaki şekilde FontFallbackSettings sınıfının bir örneğini elde edebilirsiniz:
Java
FontFallbackSettings settings = fontSettings.getFallbackSettings();
Benzer şekilde Tablo değiştirme kuralı” bu mekanizma yapılandırmak için XML tablolar kullanır. Bu XML tabloları aşağıdaki yöntemlerle yüklenebilir ve kaydedilebilir:
Java
fontSettings.getFallbackSettings().load("MyNewFallbackTable.xml");
fontSettings.getFallbackSettings().save("Current_FallbackTable.xml");
Aspose.Words sürümünü iki tablo içerir: MsOfficeFallbackSetting.xml ve NotoFallbackSetting.xml.
The MsOfficeFallbackSetting tablo belirli bir karakter aralığı için bir değiştirme stratejisi tanımlar, bu da Microsoft Word’in kullandığı stratejiye benzer. Böylece strateji, Microsoft Office yazı tiplerinin yüklenmesini gerektirir. MsOfficeFallbackSetting, aşağıdaki yöntem kullanılarak etkinleştirilebilir:
.Java
fontSettings.getFallbackSettings().loadMsOfficeFallbackSettings();
Aşağıdaki NotoFallbackSetting tablosu özellikle Google Noto yazı tipleriyle kullanılmak üzere oluşturulmuştur (bir sonraki bölümde Google Noto yazı tipi ayarlarıyla ilgili daha fazla bilgi edinin) ve aşağıdaki gibi etkinleştirilebilir:
Java
fontSettings.getFallbackSettings().loadNotoFallbackSettings();
Aşağıdaki kod örneği bir XML dosyasından yazı tipi yedeleme ayarlarını nasıl yükleneceğini göstermektedir:
Yukarıdaki kod örneğinde kullanılan aşağıdaki XML dosyası:
<FontFallbackSettings xmlns="Aspose.Words">
<FallbackTable>
<!-- Fallback table consists of the rules. Each rule defines the fallback fonts which Aspose.Words should use for specified Unicode ranges and base fonts. Rules are checked one by one and the first applicable fallback font is used. If none of the rules are applicable then ".notdef" glyph (missing glyph) from the base font will be used. -->
<!-- This rule defines that "Vijaya" fallback font should be used for "U+0B80..U+0BFF Tamil" Unicode block. -->
<Rule Ranges="0B80-0BFF" FallbackFonts="Vijaya"/>
<!-- This rule defines that "Segoe UI Emoji" and "Segoe UI Symbol" fallback fonts should be used for "U+1F300..U+1F5FF Miscellaneous Symbols and Pictographs", "U+1F600..U+1F64F Emoticons" Unicode blocks. If "Segoe UI Emoji" font does not contains the glyph for the requested Unicode code point then "Segoe UI Symbol" will be checked. -->
<Rule Ranges="1F300-1F64F" FallbackFonts="Segoe UI Emoji, Segoe UI Symbol"/>
<!-- This rule defines that "Arial" fallback font should be used for "U+2000..U+206F General Punctuation", "U+2070..U+209F Superscripts and Subscripts" Unicode blocks and specific "U+20B9 INDIAN RUPEE SIGN" code point. -->
<Rule Ranges="2000-206F, 2070-209F, 20B9" FallbackFonts="Arial" />
<!-- These rules defines that for "U+3040..U+309F Hiragana" Unicode block "MS Gothic" fallback font should be used if base font is "Times New Roman" and "MS Mincho" fallback font for all other base fonts. -->
<Rule Ranges="3040-309F" FallbackFonts="MS Gothic" BaseFonts="Times New Roman"/>
<Rule Ranges="3040-309F" FallbackFonts="MS Mincho"/>
<!-- This rule defines that "Arial Unicode MS" fallback font should be used if applicable fallback font was not found by previous rules. -->
<Rule FallbackFonts="Arial Unicode MS"/>
</FallbackTable>
</FontFallbackSettings>Aspose.Words Google Noto yazı tipleri için önceden belirlenmiş yazı tipi yedekleme ayarlarını sağlar. Bunlar, SIL Açık Yazı Lisansı altında lisanslı ücretsiz yazı tipleridir ve Google Noto Yazı Tipleri’nden indirilebilir. The FontFallbackSettings sınıfı bir LoadNotoFallbackSettings yöntemini sağlar. Önceden belirlenmiş yedekleme ayarlarını yükler, bunlar kod örneğinde gösterildiği gibi Google Noto yazı tipini kullanır:
Aspose.Words dosya sisteminde otomatik olarak TrueType yazı tiplerini bulmaya çalışır. Genellikle, Aspose.Words varsayılan davranışını kullanarak TrueType yazı tiplerini bulabilirsiniz, fakat bazen kendi TrueType yazı tiplerinin bulunduğu klasörlerinizi belirtmeniz gerekir. Konu Specify TrueType Fonts Location Aspose.Words yazı tiplerini nasıl ve nerede aradığını ve kendi yazı tiplerinin konumunu belirtmeyi anlatır.
Aşağıdaki tabloda gösterildiği gibi, yazı tipleri formatlarının işlenmesi Aspose.Words ve Microsoft Word arasında bazı farklılıklar vardır:
| Microsoft Word | Aspose.Words | |
|---|---|---|
| TrueType yazı tipleri ve TrueType çizgileri olan OpenType yazı tipleri | Desteklendi. | Destekli. |
| Postscript çizgileri olan OpenType yazı tipleri | Çoğu senaryo için desteklenir. Sabit sayfa formatlarına gömme ve örneğin PDF ve XPS’a destek verilmiyor. Metin bitmap görüntüleriyle değiştirilir. | Çoğu senaryo için desteklenir, sabit sayfa formatlarına gömme dahil. |
| Açık Tip Yazı Variasyonları | Sadece adlandırılmış örnekler desteklenmektedir. Sürekli varyasyonlar desteklenmiyor. | Varsayılan tek örnek için desteklenir. Adlandırılmış örnekler ve sürekli varyasyonlar desteklenmemektedir. |
| Tip1 yazı tipleri | 2013’ten önceki Windows sürümlerinde ve macOS sürümlerinde desteklenir. Destek 2013’ten başlayarak Windows sürümlerinde bırakılır. | Desteklenmiyor. |
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.