ПредишенСледващото

шрифта Картографиране

Когато зададете шрифт, трябва внимателно да се доближава до избор на шрифт, който трябва да присъства на компютъра на потребителя. WPF може да помогне повече по този въпрос се дължи на алтернативен шрифт система. Тя ви позволява да определите имот FontFamily списък с шрифтове, разделени със запетаи. След това WPF се опитва да изберете шрифт от даден списък.

Следващият пример се опитва да използва шрифта Технически курсив, а в негово отсъствие ще бъде избран резервен вариант - Comic Sans MS или Arial:

Ако изведнъж семейството шрифтове съдържа запетайка в името си, тя трябва да бъде написана два пъти.

Между другото, това е възможно да получите списък на всички шрифтове, инсталирани на компютъра ток - с помощта на статично колекция от System.Windows.Media.Fonts SystemFontFamilies клас. Следното е пример, в който тази колекция се използва за добавяне на шрифтове в полето за списък:

FontFamily обект ви позволява да научите и други подробности, като разстоянието между редовете и свързаното с тях слушалките.

Една от съставките, които не са в WPF, диалогов прозорец за избор на шрифт. Група WPF Текст, предложен две разработчиците по-привлекателни средства, за да изберете шрифт: версия без код, който използва данни за свързването и по-сложна версия, която поддържа намерени в някои шрифтове OrenType допълнителни възможности за оформление.

вграждане на шрифтове

Друг вариант, когато се работи с необичайни шрифтове е интегрирането им в заявлението. След прилагането никога няма да имате проблеми с намирането на желания шрифт.

Процесът на интеграция е много проста. Първо трябва да се добавят към досието на заявлението шрифт (обикновено с .ttf разширение) и задайте стойността параметър на Build действие на ресурсите. (Можете да направите това в Visual Studio, изберете файла на шрифта в Solution Explorer и промяна на стойността на Build действие в прозореца Properties (Свойства).)

След това, с помощта на шрифта, трябва да добавите преди името на фамилия характер последователност ./#:

WPF, заместване и вграждане на шрифтове

WPF интерпретира символа ./ като индикация за текущата папка. За да се разбере какво означава това, е необходимо да се справят със системата за XAML опаковки.

Можете да стартирате самостоятелно (т.нар несвързани) XAML-файлове директно в браузъра, без да ги компилиране. Единственото условие е, че XAML-файлът не може да се използва кодово зад делото. Текуща папка са разрешени, така че WPF търси шрифтове, които са в същата директория като XAML-файла и ги прави достъпни на приложението.

Това URI е достъпно на няколко места, включително чрез FontFamily.BaseUri собственост. WPF използва този URI като база място при търсене на шрифтове. По този начин, когато се използва в компилиран синтаксис ./ WPF-приложението, което ще търси шрифтовете, които са интегрирани в един ресурс с компилиран XAML.

След ./ герои, можете просто да укажете името на файла, но това обикновено се добавя в знак номер (#) и името на семейството на шрифта. В горния пример, вграден шрифт Вивалди.

В вграждането на шрифтове има своите странности. Трябва да посочите точното име на семейството на шрифта и изберете правилното действие на механизма за файла на шрифта. Вграждане на шрифтове засяга въпроси, свързани с лицензирането. За съжаление, повечето шрифтове продавачите имат право да вграждате шрифтове в документите (като PDF файлове), но не и при прилагането (например, WPF монтаж), дори и ако WPF вграден шрифт няма директен достъп до крайния потребител. WPF не се опитва да веднъж лицензирани шрифтове, и все пак, преди да разпредели шрифта, се уверете, че не нарушавате условията на лицензията.

По-специално, погледнете раздела вграждане (вграждане) дали е разрешено поставянето на текста. Шрифтове, означен Инсталирани Вграждане Позволени (Разрешено инсталираната вмъкване), подходящ за използване в WPF-приложения и шрифтове с етикет Редактируем Вграждане Позволени (Разрешено редактира вграждане) може да не е подходящ за тази цел. За информация относно свидетелството, като използва всеки шрифт може да бъде получена от доставчика на шрифта.

Режим на форматиране на текст

Изготвяне на текст в WPF е малко по-различно от чертежа в старите GDI-базирани приложения. Това се дължи основно на разликата в WPF приложение, независимо от системата на екрана на устройството,, но имаше и значителни подобрения, които позволяват на текста, за да изглеждат по-ясни и по-ясни, по-специално на LCD монитори.

Въпреки това, текст оказване на WPF има известен недостатък. Когато малкия размер на шрифта на текста става замъглено и съдържа нежелани артефакти (като цвят хало около ръбовете на знака). Тези проблеми не възникват, когато извеждате текст с помощта на GDI, защото Този интерфейс използва няколко трика, предназначени за подобряване на яснотата на малък текст.

Например, GDI може да се промени формата на малки букви, смени позицията си и привеждане на границите на пиксела. Тези мерки водят до загуба на някои функции на слушалките, но те се увеличи четливостта на екрана, когато на дисплея на малък текст.

И как да се реши проблем при показването малък текст в WPF? По-добре е просто да се увеличи размера си (при 96 DPI монитор този дефект изчезва, когато размера на текста около 15 единици независимо от устройството), или с помощта на монитор с голям DPI стойност, което е достатъчно за разрешително за ясен дисплей на желания размер на текста. Но тъй като тези опции често не са приложими на практика в WPF 4 въведе нова функция: избирателното използване на текст рендиране в GDI стил.

За да се покаже текст в GDI стил, за да добавите към елемента, показани на текста (например, TextBlock или етикет), прикрепен TextOptions.TextFormattingMode имота и промяна на стойността на дисплея (със стандартната идеал).

Имайте предвид, че TextFormattingMode имот е подходящ като решение само за един малък шрифт. Ако го прилага по отношение на големи (повече от 15 точки), текстът няма да бъде толкова ясно, пролуките между героите - не толкова гладко, както и героите сами няма да изглеждат много спретнати.

И ако използвате и трансформация, която се върти, везни размер или още по някакъв начин променя външния вид на текст, тогава трябва да се използва винаги стандартен режим показване на текста в WPF. В действителност, в стила на GDI оптимизация се прилага към текста пред тези трансформации. И след извършване резултат на преобразуване вече няма да бъде приведено в съответствие с границите на пиксела, а текстът ще се появи замъглено.

Подкрепете проекта - споделете линка, благодаря!