Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Aspose.Words, belgeleri PDF veya XPS gibi sabit sayfa formatlarına dönüştürmek de dahil olmak üzere çeşitli görevler için TrueType yazı tiplerini gerektirir. Aspose.Words bir belgeyi işlediğinde, ortaya çıkan belgeye TrueType yazı tiplerinin gömme ve alt küme gömme işlemini gerçekleştirmesi gerekir; bu, popüler PDF veya XPS formatları da dahil olmak üzere belge oluşturma sırasında normal bir uygulamadır. Bu, belgenin her izleyiciye aynı görünmesini sağlar. Ayrıca, XPS spesifikasyonu yazı tiplerinin her zaman belgeye gömülmesini gerektirir.
Aspose.Words’in karakterleri doğru bir şekilde ölçtüğünden ve ilgili yazı tiplerini başarıyla yerleştirdiğinden emin olmak için aşağıdaki koşulların karşılanması gerekir:
Belgedeki yazı tipinin, TrueType yazı tipi (fiziksel yazı tipi) varlığından farklı olan aile adı, stil, boyut, renk gibi bir varlığı temsil ettiğini unutmayın. Aspose.Words, belgedeki yazı tipini işlemenin bir aşamasında fiziksel bir yazı tipine dönüştürür. Bu, çoğunlukla düzen oluşturma sırasında metin boyutunu hesaplama ve sabit sayfa formatlarına yerleştirme/alt kümeleme gibi belirli görevleri mümkün kılar. HTML yüklerken yazı tipi çözümleme ve değiştirme veya bazı akış formatlarına gömme/alt kümeleme gibi daha az popüler olan diğer görevler de aynı şekilde etkinleştirilir.
Mevcut tüm yazı tipi düzenleme mekanizmaları FontSettings sınıfında bulunur. Bu sınıf, aşağıda açıklandığı gibi, tanımlanmış yazı tipi kaynakları içindeki yazı tiplerini getirmenin yanı sıra Yazı Tipi Değiştirme işleminden de sorumludur.
Yazı tipleri birkaç adımda ayrıştırılır:
Aspose.Words, belgede bir yazı tipiyle ilk kez karşılaştığında, her yazı tipi kaynağında bulunan yazı tipi dosyalarından yazı tipinin tam adı, soyadı, sürümü, stili gibi temel yazı tipi bilgilerini almaya çalışır. Tüm yazı tipleri alındıktan sonra Aspose.Words, gerekli yazı tipi verilerini veya istenen yazı tipine uygun bir alternatifi bulmak için bu ayrıntıları kullanır.
Yukarıda açıklanan prosedür zaman alıcı olduğundan, ilk çalıştırmada uygulama performansını olumsuz etkileyebilir. Ancak her FontSettings örneğinin kendi önbelleği vardır ve bu da sonraki belgelerin işlem süresini azaltabilir. Örneğin, FontSettings sınıfının bir örneğini farklı belgeler arasında paylaşabilirsiniz, bu da belgelerin yüklenmesini hızlandırmanıza olanak tanır. Aşağıdaki örnek bunu göstermektedir:
FontSettings‘in açıkça tanımlanmadığı durumda Aspose.Words, varsayılan FontSettings örneğini kullanır. Bu örnek ayrıca belgeler arasında otomatik olarak paylaşılır ve aşağıdaki şekilde çıkarılabilir:
İşleme tabi tutulan tüm belgelerin aynı yazı tipi ayarlarını gerektirdiğinden eminseniz, varsayılan FontSettings örneğini kurup kullanmanız önerilir. Tüm belgeleriniz için aynı yazı tipi kaynaklarını kullanmanız gerektiğini varsayalım. Bu durumda, varsayılan örneği aşağıdaki şekilde değiştirebilirsiniz:
Bir belgedeki metin, Arial, Times New Roman, Verdana ve diğerleri gibi çeşitli yazı tipleriyle biçimlendirilebilir. Aspose.Words bir belgeyi oluşturduğunda belgede belirtilen yazı tiplerini seçmeye çalışır.
Ancak tam yazı tipinin bulunamadığı ve Aspose.Words’in onu benzer bir yazı tipiyle değiştirmesi gerektiği durumlar vardır. Aspose.Words yazı tipini aşağıdaki işleme göre seçer:
FontConfig kitaplığına zaten sahiptir. Aksi takdirde bu kütüphane kullanıcı tarafından kolaylıkla kurulabilir.
Aspose.Words, verileri nasıl sorgulayacağını ve FontConfig sonuçlarını kendi amaçları doğrultusunda nasıl yorumlayacağını bilir. Varsayılan olarak FontConfig yardımcı programı devre dışıdır. Bunu aşağıdaki şekilde etkinleştirebilirsiniz: fontSettings.SubstitutionSettings.FontConfigSubstitution.Enabled = true;
FontConfig değiştirme kuralıyla değiştirilmediği takdirde yazı tipini bu kuralla değiştirecektir. <TableSubstitutionSettings xmlns="Aspose.Words">
<SubstitutesTable>
<Item OriginalFont="Arabic Transparent" SubstituteFonts="Arial" />
…
</SubstitutesTable>
</TableSubstitutionSettings>
fontSettings.SubstitutionSettings.TableSubstitution.Load("Table.xml");
fontSettings.SubstitutionSettings.TableSubstitution.Enabled = false;
FontInfoCollection fontInfos = doc.FontInfos;
fontSettings.SubstitutionSettings.FontInfoSubstitution.Enabled = false;
FontInfo değişikliğinin de başarısız olması durumunda DefaultFont değiştirme kuralı uygulanacaktır. Bu kural aynı zamanda varsayılan olarak etkindir. Bu kurala göre Aspose.Words, DefaultFontName özelliğinde belirtilen varsayılan yazı tipini kullanmaya çalışacaktır. Kullanıcı kendi varsayılan yazı tipini seçmemişse, varsayılan yazı tipi olarak “Times New Roman” kullanılacaktır. Bu kural aşağıda gösterildiği gibi devre dışı bırakılabilir: fontSettings.SubstitutionSettings.DefaultFontSubstitution.Enabled = false;
fontSettings.SubstitutionSettings.DefaultFontSubstitution.DefaultFontName;
fontSettings.SubstitutionSettings.DefaultFontSubstitution.DefaultFontName = "Arial";
FontInfo mevcutsa FontInfo değiştirme kuralı her zaman yazı tipini çözer ve varsayılan yazı tipi kuralını geçersiz kılar. Varsayılan yazı tipi kuralını kullanmak istiyorsanız FontInfo değiştirme kuralını devre dışı bırakmalısınız. FontConfig değiştirme kuralının çoğu durumda yazı tipini çözeceğini ve dolayısıyla diğer tüm kuralları geçersiz kılacağını unutmayın.
Bazen belge düzeninin neden değiştiği veya bazı yazı tiplerinin neden beklendiği gibi görünmediği açık olmayabilir. Bu gibi durumlarda IWarningCallback arayüzünün uyguladığı font değiştirme uyarı mesajları imdadımıza yetişiyor. FontSubstitution uyarı tipine ve standart açıklama metni formatına sahiptirler: “Font ‘
Aspose.Words’te kullanılan iki farklı mekanizma vardır: Yazı tipi değiştirme ve Yazı tipi geri dönüşü. Yazı tipi değişikliği, belgede belirtilen yazı tipinin yukarıdaki bölümlerde anlatıldığı gibi yazı kaynakları arasında bulunamadığı durumlarda kullanılır. Yazı tipi geri dönüş mekanizması, yazı tipi çözümlendiğinde kullanılır ancak belirli bir karakter içermez. Bu durumda Aspose.Words, karakter için geri dönüş yazı tiplerinden birini kullanmaya çalışır.
Mevcut yazı tiplerini tarayarak geri dönüş ayarlarını otomatik olarak oluşturan bir BuildAutomatic yöntemi vardır. Bu yöntem ideal olmayan bir geri dönüş ayarı oluşturabileceğinden, FontFallbackSettings sınıfının özelliklerini kullanarak yazı tipi geri dönüş davranışını denetleyebilirsiniz. Bu sınıf, yazı tipi geri dönüş mekanizmasının ayarlarını belirtir. FontFallbackSettings sınıfının bir örneğini aşağıdaki gibi alabilirsiniz:
.NET
FontFallbackSettings settings = fontSettings.FallbackSettings;
Tablo değiştirme kuralına benzer şekilde, bu mekanizma yapılandırma için XML tablolarını kullanır. Bu XML tabloları aşağıdaki yöntemlerle yüklenebilir ve kaydedilebilir:
.NET
fontSettings.FallbackSettings.Load("MyNewFallbackTable.xml");
fontSettings.FallbackSettings.Save("Current_FallbackTable.xml");
Aspose.Words sürümü iki tablo içerir: MsOfficeFallbackSetting.xml ve NotoFallbackSetting.xml.
MsOfficeFallbackSetting tablosu, bir dizi karakter için Microsoft Word tarafından kullanılan stratejiye benzer bir değiştirme stratejisi tanımlar. Bu nedenle strateji, Microsoft Office yazı tiplerinin yüklenmesini gerektirir. MsOfficeFallbackSetting aşağıdaki yöntem kullanılarak etkinleştirilebilir:
.NET
fontSettings.FallbackSettings.LoadMsOfficeFallbackSettings();
NotoFallbackSetting tablosu, özellikle Google Noto yazı tipleriyle kullanılmak üzere oluşturulmuştur (sonraki bölümde Google Noto yazı tipi ayarları hakkında daha fazla bilgi edinin) ve aşağıdaki şekilde etkinleştirilebilir:
.NET
fontSettings.FallbackSettings.LoadNotoFallbackSettings();
Aşağıdaki kod örneği, bir XML dosyasından yazı tipi geri dönüş ayarlarının nasıl yükleneceğini gösterir:
Yukarıdaki kod örneğinde aşağıdaki XML dosyası kullanılmıştır:
<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 tanımlanmış yazı tipi geri dönüş ayarları sağlar. Bunlar, Google Noto Yazı Tiplerinden indirilebilen, SIL Açık Yazı Tipi Lisansı kapsamında lisanslanan ücretsiz yazı tipleridir. FontFallbackSettings sınıfı bir LoadNotoFallbackSettings yöntemi sağlar. Aşağıdaki kod örneğinde gösterildiği gibi Google Noto yazı tiplerini kullanan önceden tanımlanmış geri dönüş ayarlarını yükler:
Aspose.Words, dosya sisteminde TrueType yazı tiplerini otomatik olarak bulmaya çalışır. Genellikle, TrueType yazı tiplerini bulmak için Aspose.Words’in varsayılan davranışına güvenebilirsiniz, ancak bazen TrueType yazı tiplerini içeren kendi klasörlerinizi belirtmeniz gerekir. TrueType Yazı Tiplerinin Konumunu Belirtin konusu, Aspose.Words’in yazı tiplerini nasıl ve nerede aradığını ve ayrıca kendi yazı tipi konumlarınızı nasıl belirleyeceğinizi açıklar.
Aşağıdaki tabloda gösterildiği gibi Aspose.Words ve Microsoft Word’de yazı tipi formatlarının işlenmesinde bazı farklılıklar vardır:
| Microsoft Word | Aspose.Words | |
|---|---|---|
| TrueType yazı tipleri ve TrueType ana hatlarıyla OpenType yazı tipleri | Desteklendi. | Desteklendi. |
| PostScript ana hatlarına sahip OpenType yazı tipleri | Çoğu senaryo için desteklenir. PDF ve XPS gibi sabit sayfa formatlarına gömme desteklenmez. Metin bitmap görselleriyle değiştirilir. | Sabit sayfa formatlarına gömme de dahil olmak üzere çoğu senaryo için desteklenir. |
| OpenType Yazı Tipi Çeşitleri | Yalnızca adlandırılmış örnekler desteklenir. Sürekli varyasyonlar desteklenmiyor. | Yalnızca varsayılan örnek için desteklenir. Adlandırılmış örnekler ve sürekli varyasyonlar desteklenmez. |
| Type1 yazı tipleri | 2013’ten önceki Windows sürümlerinde ve MacOS sürümlerinde desteklenir. 2013’ten itibaren Windows sürümlerinde destek kaldırılmıştır. | Desteklenmiyor. |
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.