Посочване на вярното Тип шрифтове Местоположение
Тази тема описва поведението по подразбиране на Aspose.Words когато търси шрифтове TrueType, включително специфични разлики в операционната система и показва как да се определят източниците на потребителски шрифтове.
На FontSourceBase класа се използва за определяне на различни източници на шрифт. Има няколко приложения на FontSourceBase клас:
Подробностите за някои класове са обяснени по-долу.
Зареждане на шрифтове от системата
Има един специален SystemFontSource клас, който винаги се използва по подразбиране. Тя представлява всички шрифтове TrueType инсталирани на системата. Следователно е възможно да се създаде списък с източници с SystemFontSource и всякакви други необходими източници:
Един единствен случай на SystemFontSource класът се определя по подразбиране в FontSettings. На различни операционни системи шрифтовете могат да бъдат разположени на различни места. Въпреки това, с помощта на FontSettings пример за всеки документ не е оптимално решение. В повечето случаи, като се използва default_instance Трябва да е достатъчно.
За документи са необходими примери само ако е необходимо да се използват различни източници на шрифт за различни документи, което е рядкост. Използване на няколко FontSettings случаи намалява ефективността, защото те не споделят кеш.
Къде? Aspose.Words Търсете TrueType шрифтове на Windows
В повечето случаи, Windows потребителите не са изправени пред значителни проблеми с пропуснати шрифтове или неправилно оформление. Обикновено, Aspose.Words преминава през документ и когато се натъкне на линк за шрифтове, успешно получава данните за шрифта от системната папка.
На Windows Aspose.Words първо взема всички налични шрифтове от _% windir% \ Папка с шрифтове. Тази обстановка ще работи за вас през повечето време. Можете да посочите собствени папки с шрифтове само ако е необходимо. Aspose.Words вместо .NET Също така търси допълнителни шрифтове, регистрирани в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts
регистрационен ключ. Освен това, Windows 10 позволява инсталиране на шрифтове за текущия потребител. Шрифтове са поставени в % потребител профил% \ AppData\ Local\Microsoft\Windows\Fonts папка и също така е посочено в * HKEY_CURRENT_USER\ Software\Microsoft\Windows NT\ Текуща версия\ Шрифтове* регистър, където Aspose.Words ще търси тези шрифтове.
Ако документът съдържа вградени шрифтове, Aspose.Words Можете да прочетете съответните данни за шрифта от документа и да го използвате, за да създадете документ за макет. Документите могат да съдържат и линкове към шрифтове, които не са в системните папки, в който случай се появяват следните сценарии:
- Потребителите могат да настроят нови източници на шрифт през FontSettings клас
- Aspose.Words може да се опита да замени пропуснатия шрифт с подобен
Шрифтове на Non-Windows Системи
Aspose.Words ще търсите шрифтовете в папките със системни шрифтове. Списък на тези папки може да се види от SystemFontSource.get_system_font_folders метод. Ако не бъдат намерени поддържани шрифтове, Aspose.Words ще използва вградения шрифт Fanwood.ttf.
Тъй като параметрите на шрифта Windows и не-Windows OS са различни, Aspose.Words прави всичко възможно да се намери подобен шрифт и да се изгради оформление подобно на оригинала. Това обаче не винаги е възможно. В тези случаи, FontSettings класа трябва да се използва за добавяне на потребителски шрифтове или правила за заместване.
Къде? Aspose.Words Търсете TrueType шрифтове на Linux
Различно Linux дистрибуциите могат да съхраняват шрифтове в различни папки. Aspose.Words търси шрифтове на няколко места. По подразбиране, Aspose.Words търси шрифтовете на всички от следните места: /usr/share/fonts
/usr/local/share/fonts
/usr/X11R6/lib/X11/fonts
. Това поведение по подразбиране ще работи за повечето Linux дистрибуции, но не е гарантирано да работи през цялото време, в който случай може да се наложи да се уточни местоположението на true напишете изрично шрифтовете. За да направите това, трябва да знаете къде са инсталирани шрифтовете TrueType Linux разпределение.
Къде? Aspose.Words Търси TrueType шрифтове на Mac OS X
Aspose.Words търси шрифтове в папката * / Library/Fonts*, която е стандартното местоположение за TrueType шрифтове на Mac OS X. Въпреки че тази настройка ще работи за вас през повечето време, може да се наложи да посочите свои собствени папки шрифтове в случая, когато трябва.
Зареждане на шрифтове от папка
Ако документът, който се обработва, съдържа линкове към шрифтове, които не са в системата, или не искате да ги добавите в системния файл или нямате права, тогава най-доброто решение ще бъде да добавите папка със собствени шрифтове, използвайки FontSettings.set_fonts_sources метод. Това ще позволи да се замени източникът на системата с потребител. Aspose.Words няма повече да търси шрифтове в регистъра или Windows\ Шрифт папка и вместо това сканирайте само за шрифтове в посочената папка(s). На FontSettings.get_font_sources методът ще върне съответните стойности.
Посочване на един или няколко шрифта
На FontSettings.set_fonts_folder както и FontSettings.set_fonts_folders методи са преки пътища към FontSettings.set_font_sources метод с един или няколко FolderFontSource случаи. Тези методи се използват, за да се посочи къде Aspose.Words Трябва да търсим шрифтове. Ако папката не съществува или не е достъпна, Aspose.Words Просто игнорира тази папка. Ако всички папки, включително източниците за заместване на шрифта, са били игнорирани, Aspose.Words ще използва Fanwood шрифт като по подразбиране.
Следният пример показва как да зададете папка или източник, който Aspose.Words впоследствие ще се използва за търсене на шрифтове TrueType по време на рендиране или вграждане на шрифтове:
Можете да изтеглите шаблонния файл на този пример от Aspose.Words GitHub.
Допълнителен булев параметър контролира дали шрифтовете се сканират рекурсивно през всички папки, като по този начин се сканират всички детски папки на определена папка. Следващият пример показва как да зададете Aspose.Words да търсите в няколко папки за TrueType шрифтове при издаване или вграждане на шрифтове:
Обърни внимание на приоритетите. Ако има шрифтове със същото фамилно име и стил в различни източници на шрифтове, тогава Aspose.Words ще изберете шрифта от източника с по-висок приоритет. Вж. описанието на полето за приоритет по-долу.
Ако не искате да използвате системни шрифтове на всички, Aspose.Words позволява да ги игнорирате и да използвате само собствените си шрифтове:
Приоритетна собственост
На приоритет имот се използва, когато има шрифтове със същото фамилно име и стил в различни източници на шрифтове. В този случай Aspose.Words избира шрифта от източника с по-висока приоритетна стойност. Например, има стара версия на шрифта в системната папка и клиентът добавя нова версия на същия шрифт в персонализирана папка.
Получаване на списък на наличните шрифтове
Ако искате да получите списъка с налични шрифтове, които, например, могат да се използват за представяне на PDF документ, можете да използвате get_available_fonts метод, както е показано в следния пример за код. На PhysicalFontInfo клас определя информация за физическия шрифт, наличен за Aspose.Words шрифтов двигател: