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

Тази част описва класически оказване на шрифта и направи системата X Window System: Ядро X за визуализиране.

В клиент-сървър X11 модел е т.нар X Window System ядро ​​протокол. т.е. основния протокол X Window System. Именно те регламентирано взаимодействието между различните компоненти на системата. Основният протокол разрешава използването на шрифтове от страна на Х-сървъра. X-Сървърът има директен достъп до файловете на шрифтовете във файловата система или чрез мрежа, програмата, известна като сървър на шрифта. X-клиенти могат да подават заявки за X-сървъра за списък с наличните шрифтове, всички атрибути или размер, който отнема текстовия ред на екрана, чрез теглене на определен тип.

X-сървър е много строго зависим от наличието на основен набор от шрифтове, то просто няма да започне, ако в негово владение, не е достатъчно набор шрифт или като файлове във файловата система или като сървър шрифт. Ето защо, в който и да е операционна система с пакета за X-сървър винаги зависи от пакета с основните шрифтове.

шрифта сървър или X Font сървър предоставя стандартен механизъм за предоставяне на сървъра X-шрифта често се свързва с TCP-порта на 7100. В момента се използва сървъра на шрифта не се препоръчва.

конфигурация

Основният конфигурационен файл X.org сървъра често е /etc/X11/xorg.conf файла. За шрифтове в него съответства на секцията Файлове, ето как може да изглежда:

Ние сме заинтересовани от директива FontPath. което е най-пълния път до директорията, съдържаща шрифта файлове. Ако тези указания не са налични или са неправилно път или пътища, определени не шрифтове, X-сървър не се стартира. Вътре директорията на шрифта трябва да бъде на шрифта файлове директно, както и няколко специални услуги файлове: encodings.dir, fonts.alias, fonts.dir.

списък с имената на шрифтовете в тази папка и файловете, в които те се съдържат. Този файл X-сървър се списък от шрифтове, които ще бъдат използвани;

списък с псевдоними за имената на шрифтовете и прочетете X-сървър;

списък encodings.dir на известни кодировки шрифтове, X-сървър, за да се чете, когато отворите шрифт с неизвестен набор от символи.

горните файлове на услуги са създадени с помощта на mkfontdir и mkfontscale отбори. mkfontdir сканира тези директории, намерени индекси там файлове растерни шрифтове и създава fonts.dir и encodings.dir файлове. В допълнение, тя добавя файл mkfontdir fonts.dir fonts.scale съдържанието на файла, ако има такава е намерен. fonts.scale файл от своя страна създава mkfontscale екип. индексиране на файлове векторни шрифтове.

В старите ръководства могат да бъдат намерени ttmkfdir препоръка за използване на програмата за индексиране формат TrueType шрифтове, но новите версии mkfontscale себе си са в състояние да си свършат работата, така че няма нужда да се ttmkfdir не повече.

Така че, за да се подготви една директория, която съдържа шрифта файлове за използване в X-сървър, трябва постоянно да изпълни две команди: mkfontscale и mkfontdir. Често това е достатъчно. Сега, тази директория може да се регистрира в xorg.conf файла и X-сървър следващия път, когато "виждат" новите шрифтове.

Въпреки това, можете да направите, без рестартиране, то трябва да се изпълнява команда xset + FP пътя до директорията-на-шрифтове. Ако промените нещо във вече добавя в указателя или в системата, стартирайте командния xset FP предъвкване на. за X-сървър е обновила списъка на натоварените шрифтове. Моля, имайте предвид, че тези програми се изпълняват в рамките на Х-сървъра, така че те трябва да се пуска в терминал отвътре X сесия.

Този метод може да се използва, например, за да се зареди шрифтовете на X-сървър polzovatelkoy без да се налага да редактирате конфигурацията на системата файлове. За да направите това, трябва да се регистрирате съответните команди във файл, който се стартира, когато GUI или X-Server.

използването на

За да назоват шрифтове Основна протокол използва специален бройна система, наречена X Логически шрифта описание. Съкратено XLFD. на българския, може да бъде грубо преведено като Булева Описание X-тип. Основните цели и изискванията на тази бройна система са:

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

XLFD влизане шрифт е четиринадесет области разделени от важните символа "-". Всяко поле описва всички характеристики на шрифта (име, стил, кодиране и т.н.). Ето един пример, напълно сигурно влизане XLFD-шрифта:

Записът не може да бъде напълно сигурен, в този случай, вместо конкретна стойност на всяка част от разходите символ "*", като този:

Всеки XLFD запис отговаря на набор от списък с известни сървъра X-шрифт. За напълно определен запис набор може да се състои от повече от един елемент или друг бъде напълно празен. За напълно определен набор може да се състои от няколко записа. Когато стартирате някои приложения (т.е., X-клиент), той предава X-сървър XLFD рекорд желания шрифт. Колкото по-малко сигурно е записа (който е по-голям символа "*", за да се срещне с нея), толкова по-голяма вероятността, че подходящ шрифт под него ще бъдат открити и при условие. Това е XLFD действа като маска при избора на шрифт.

Ключовият момент подсистема шрифта X-сървър - за изобразяване на шрифтове е X-сървър и приложенията, които работят (т.е., X-клиент) работи изключително XLFD-записи и растеризация, мащабиране и други графични операции на шрифта не отговаря. Предимството на това е по-малко количество данни, които се предават от клиента към Х-Х-сървър е по същество молба прехвърля само линията на текст, който вече след това стига до X-сървър.

Първи експеримент с имената на шрифтовете. Структурата на X-сървър включва xfontsel полезност. която ви позволява да се визуализира на процеса на избор на шрифт на базата на определени критерии. Просто стартирате програмата без параметри и се опитват различни стойности povystavlyat XLFD компоненти. Както зададената стойност промяна на броя на шрифтовете под тях, попадащи (в горния десен ъгъл). За да копирате XLFD-влизане в буфер, натиснете «изберете» в.

А сега няколко примера, за да илюстрират това. Нека се опитаме да стартирате Xterm програма и да я насочва към използвайте шрифта:

Ние не използваме напълно квалифициран XLFD влизане, така че програмата ще започне с първия попаднал под маската на името на шрифта. Сега нека да се опитаме да използва името на пословично несъществуващи шрифт, например, да се даде производител име FAKENAME.

Както можем да видим, на X-сървър не може да намери такъв шрифт, така Xterm използва "шрифта по подразбиране", в този случай на "фиксирани".

Сега създайте XLFD-запис, изберете всички шрифтове наклонена марка за притежаване на кодиране «iso8859-1». За тази серия и задайте стойността xfontsel наклон XLFD-компонент «аз», rgstry в «iso8859», encdng на "1"; около получаваме следните резултати:

Шрифтове в Linux вградени подсистема шрифта х-сървър

И тичам Xterm с новоизбрания шрифта:

В допълнение xfontsel има няколко други полезни програми, за да си взаимодействат с помощта на вградения в подсистема X-сървъра на шрифта:

Тя дава списък с шрифтове, които отговарят на определен модел. Като се започне без параметри дава списък на всички шрифтове. * xfd

ограничения

Вграден подсистема шрифта X-сървър е много стара и не позволява много от днешните изобразяване на шрифтове възможности, като анти-псевдоними; също така, че има много сериозни проблеми с Unicode и многобайтови кодировки, което допълнително намалява възможността за използване. Почти всички съвременни програми не използват вградените шрифтове оказване на страната на X-сървъра и предпочитат да използват по-гъвкав и богат на възможности да се направи метод на X-клиент. Това е, което аз ще кажа следващия, и на историята на вградения X-сървър шрифта подсистема сложи точка и няма да се върне към тази тема.

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