Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Aspose.Wordsต้องใช้แบบอักษรTrueTypeสำหรับงานที่หลากหลายรวมทั้งการแสดงผลเอกสารในรูปแบบเพจถาวรตัวอย่างเช่นPDFหรือXPS เมื่อAspose.Wordsแสดงผลเอกสารจะต้องทำการฝังและฝังชุดย่อยของแบบอักษรTrueTypeลงในเอกสารที่ส่งผลลัพธ์ซึ่งเป็นแบบฝึกหัดปกติในระหว่างการสร้างเอกสารรวมถึงรูปแบบที่เป็นที่นิยมPDFหรือXPS ให้แน่ใจว่าเอกสารจะปรากฏเหมือนกันกับวิวเวอร์ใดๆ นอกจากนี้ข้อกำหนดXPSต้องใช้แบบอักษรที่จะฝังอยู่ในเอกสารเสมอ.
เพื่อให้แน่ใจว่าAspose.Wordsวัดตัวอักษรอย่างถูกต้องและฝังแบบอักษรที่เกี่ยวข้องสำเร็จ,เงื่อนไขต่อไปนี้จะต้องเป็นไปตาม:
โปรดทราบว่าแบบอักษรในเอกสารแสดงถึงเอนทิตีเช่นชื่อสกุลสไตล์ขนาดสีซึ่งแตกต่างจากเอนทิตีแบบอักษรTrueType(แบบอักษรทางกายภาพ) Aspose.Wordsแก้ไขแบบอักษรในเอกสารให้เป็นแบบอักษรฟิสิกส์ในบางขั้นตอนของการประมวลผล การคำนวณขนาดตัวอักษรในระหว่างการก่อสร้างเค้าโครงและการฝัง/การตั้งค่าย่อยไปยั จำนวนของงานอื่นๆที่นิยมน้อยกว่าเช่นการแก้ไขแบบอักษรและการทดแทนในขณะที่โหลดHTMLหรือการฝัง/การตั้งค่าย่อยในรูปแบบการไหลบางส่วนจะถูกเปิดใช้งานในทำนองเดียวกัน.
กลไกการจัดการแบบอักษรที่มีอยู่ทั้งหมดอยู่ในชั้นเรียนFontSettings คลาสนี้รับผิดชอบในการดึงแบบอักษรภายในแหล่งที่มาแบบอักษรที่กำหนดไว้เช่นเดียวกับก.
แบบอักษรจะถูกวิเคราะห์ในหลายขั้นตอน:
เมื่อAspose.Wordsพบแบบอักษรในเอกสารเป็นครั้งแรกจะพยายามขอรับข้อมูลแบบอักษรพื้นฐานเช่นชื่อเต็มแบบอักษรชื่อสกุลรุ่นสไตล์จากไฟล์แบบอักษรที่อยู่ในแหล่งข้อมูลแบบอักษรแต่ละตัว หลังจากดึงแบบอักษรทั้งหมดแล้วAspose.Wordsใช้รายละเอียดเหล่านี้เพื่อค้นหาข้อมูลแบบอักษรที่จำเป็นหรือการแทนที่ที่เหมาะสมสำหรับแบบอักษรที่ร้องขอ.
เนื่องจากขั้นตอนที่อธิบายไว้ข้างต้นเป็นเวลานาน,มันอาจส่งผลกระทบต่อประสิทธิภาพกา อย่างไรก็ตามแต่ละอินสแตนซ์ของFontSettingsมีแคชของตัวเองซึ่งสามารถลดเวลาในการประมวลผล ตัวอย่างเช่น,คุณสามารถแบ่งปันอินสแตนซ์ของFontSettingsคลาสระหว่างเอกสารที่แตกต่างกัน,ซึ่งจะช่ ตัวอย่างต่อไปนี้แสดงให้เห็นถึงสิ่งนี้:
ในกรณีที่FontSettingsไม่ได้กำหนดไว้อย่างชัดเจนAspose.Wordsใช้ค่าดีฟอลต์FontSettingsอินสแตนซ์ อินสแตนซ์นี้จะใช้ร่วมกันโดยอัตโนมัติระหว่างเอกสารและสามารถแยกได้ดังนี้:
Java
FontSettings fontSettings = FontSettings.getDefaultInstance();
หากคุณแน่ใจว่าเอกสารการประมวลผลทั้งหมดต้องการการตั้งค่าแบบอักษรเดียวกันขอแนะนำให้ตั้งค่าและใช้อินสแตนซ์เริ่มต้นFontSettings สมมติว่าคุณจำเป็นต้องใช้แหล่งที่มาแบบอักษรเดียวกันสำหรับเอกสารทั้งหมดของคุณ ในกรณีนี้,คุณก็สามารถแก้ไขอินสแตนซ์เริ่มต้นดังต่อไปนี้:
บทความเกี่ยวกับคอมพิวเตอร์ที่ยังไม่สมบูรณ์ เมื่อAspose.Wordsแสดงผลเอกสารจะพยายามเลือกแบบอักษรที่ระบุในเอกสาร.
อย่างไรก็ตามมีสถานการณ์ที่ไม่พบแบบอักษรที่แน่นอนและAspose.Wordsต้องใช้แบบอักษรที่คล้ายกันแทน Aspose.Wordsเลือกแบบอักษรตามกระบวนการต่อไปนี้:
FontConfigยูทิลิตี้. คุณลักษณะที่ไม่ใช่Windowsนี้ต้องใช้กับFontConfig-เข้ากันได้OS เกือบทุกยูนิกซ์ที่ใช้แล้วOSมีไลบรารีFontConfigที่ถูกออกแบบมาเพื่อให้การกำหนดค่าแบบอักษรทั้งระบ มารถติดตั้งได้อย่างง่ายดายโดยผู้ใช้FontConfigถูกปิดใช้งาน คุณสามารถเปิดใช้งานได้ดังนี้: 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ล้มเหลวเช่นกัน กฏนี้ถูกเปิดใช้งานโดยค่าเริ่มต้น ตามกฎนี้Aspose.Wordsจะพยายามใช้ฟอนต์ดีฟอลต์ที่ระบุไว้ในพร็อพเพอร์ตี้DefaultFontName หากผู้ใช้ยังไม่ได้เลือกแบบอักษรเริ่มต้นของตัวเองแล้ว"ครั้งโรมันใหม่"จะถูกใช้เป็นแบบอัก กฎนี้สามารถปิดใช้งานได้ตามที่แสดงด้านล่าง: fontSettings.getSubstitutionSettings().getDefaultFontSubstitution().setEnabled(false);
fontSettings.getSubstitutionSettings().getDefaultFontSubstitution().getDefaultFontName();
fontSettings.getSubstitutionSettings().getDefaultFontSubstitution().setDefaultFontName("Arial");
บางครั้งอาจไม่ชัดเจนว่าทำไมเค้าโครงเอกสารมีการเปลี่ยนแปลงหรือทำไมแบบอักษรบ ในกรณีดังกล่าวข้อความคำเตือนการทดแทนแบบอักษรที่ดำเนินการโดยIWarningCallbackอินเทอร์เฟซมาช่ว พวกเขามีFontSubstitutionชนิดคำเตือนและรูปแบบข้อความคำอธิบายมาตรฐาน"ตัวอักษร'
มีสองกลไกที่แตกต่างกันที่ใช้ในAspose.Words-การแทนที่แบบอักษรและทางเลือกแบบอักษร การแทนที่แบบอักษรจะใช้เมื่อแบบอักษรที่ระบุในเอกสารไม่สามารถพบได้ในแหล่งที่มาของ กลไกการสำรองแบบอักษรจะใช้เมื่อแบบอักษรได้รับการแก้ไขแต่ไม่มีอักขระเฉพาะ ในกรณีนี้Aspose.Wordsพยายามใช้แบบอักษรทางเลือกหนึ่งสำหรับอักขระ.
มีวิธีการBuildAutomaticที่สร้างการตั้งค่าทางเลือกโดยอัตโนมัติโดยการสแกนแบบอักษรที่มีอยู่ คุณสามารถควบคุมพฤติกรรมแบบอักษรทางเลือกโดยใช้คุณสมบัติของคลาสของFontFallbackSettings คลาสนี้ระบุการตั้งค่าของกลไกการย้อนกลับแบบอักษร คุณจะได้รับอินสแตนซ์ของFontFallbackSettingsชั้นดังนี้:
Java
FontFallbackSettings settings = fontSettings.getFallbackSettings();
ในทำนองเดียวกันกับTable substitution ruleกลไกนี้ใช้ตารางXMLสำหรับการกำหนดค่า ตารางเหล่านี้XMLสามารถโหลดและบันทึกด้วยวิธีการต่อไปนี้:
Java
fontSettings.getFallbackSettings().load("MyNewFallbackTable.xml");
fontSettings.getFallbackSettings().save("Current_FallbackTable.xml");
รุ่นAspose.Wordsประกอบด้วยสองตาราง:MsOfficeFallbackSetting.xmlและNotoFallbackSetting.xml.
ตารางMsOfficeFallbackSettingกำหนดกลยุทธ์การแทนที่สำหรับช่วงของอักขระซึ่งคล้ายกับกลยุทธ์ที่ใช้โดยMicrosoft Word ดังนั้นกลยุทธ์ที่ต้องติดตั้งแบบอักษรสำนักงานMicrosoft MsOfficeFallbackSettingสามารถเปิดใช้งานได้โดยใช้วิธีการต่อไปนี้:
.Java
fontSettings.getFallbackSettings().loadMsOfficeFallbackSettings();
ตารางNotoFallbackSettingถูกสร้างขึ้นโดยเฉพาะสำหรับใช้กับแบบอักษรGoogle Noto(ดูข้อมูลเพิ่มเติมเกี่ยวกับGoogle Notoการตั้งค่าแบบอักษรในส่วนถัดไป)และสามารถเปิดใช้งานได้ดังนี้:
Java
fontSettings.getFallbackSettings().loadNotoFallbackSettings();
ตัวอย่างรหัสต่อไปนี้สาธิตวิธีการโหลดการตั้งค่าแบบอักษรสำรองจากแฟ้มXML:
ในตัวอย่างรหัสข้างต้นใช้แฟ้มXMLต่อไปนี้:
<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แบบอักษร เหล่านี้เป็นแบบอักษรฟรีที่ได้รับอนุญาตภายใต้SILใบอนุญาตแบบอักษรเปิดที่สามารถดาวน์โหลดได้จากGoogle Notoแบบอักษร คลาสFontFallbackSettingsมีวิธีการLoadNotoFallbackSettings โหลดการตั้งค่าทางเลือกที่กำหนดไว้ล่วงหน้าซึ่งใช้Google Notoแบบอักษรที่แสดงในตัวอย่างรหัสด้านล่:
Aspose.Wordsพยายามค้นหาแบบอักษรTrueTypeบนระบบไฟล์โดยอัตโนมัติ โดยปกติแล้วคุณสามารถพึ่งพาพฤติกรรมเริ่มต้นของAspose.Wordsเพื่อหาแบบอักษรTrueTypeแต่บางครั้งคุณต้องระบุโฟลเดอร์ของคุณเองที่มีแบบอักษรTrueType ร ระบุตำแหน่งแบบอักษรTrueType หัวข้ออธิบายวิธีและตำแหน่งที่Aspose.Wordsมองหาแบบอักษรรวมทั้งวิธีการระบุตำแหน่งแบบอักษรของคุ.
มีความแตกต่างบางอย่างในการประมวลผลรูปแบบตัวอักษรในAspose.WordsและMicrosoft Wordดังที่แสดงในตารางด้านล่าง:
| Microsoft Word | Aspose.Words | |
|---|---|---|
| TrueTypeแบบอักษรและOpenTypeแบบอักษรที่มีTrueTypeเค้าร่าง | การสนับสนุน. | การสนับสนุน. |
| OpenTypeแบบอักษรที่มีPostScriptโครงร่าง | รองรับสถานการณ์ส่วนใหญ่ ไม่สนับสนุนการฝังรูปแบบหน้าถาวรเช่นPDFและXPS ข้อความจะถูกแทนที่ด้วยภาพบิตแมป. | สนับสนุนสำหรับสถานการณ์ส่วนใหญ่รวมถึงการฝังรูปแบบหน้าถาวร. |
| OpenTypeรูปแบบแบบอักษร | รองรับเฉพาะอินสแตนซ์ที่มีชื่อเท่านั้น ไม่สนับสนุนรูปแบบต่อเนื่อง. | รองรับสำหรับอินสแตนซ์ดีฟอลต์เท่านั้น อินสแตนซ์ที่มีชื่อและการเปลี่ยนแปลงอย่างต่อเนื่องจะไม่ได้รับการสนับสนุน. |
| ชนิด 1 แบบอักษร | สนับสนุนในWindowsรุ่นก่อนปี 2013 และในMacOS รุ่น การสนับสนุนจะลดลงบนWindowsรุ่นเริ่มต้นจาก 2013. | ไม่สนับสนุน. |
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.