http://www.inp.nsk.su/~bolkhov/files/fonts/cyr-rfx/00index.ru.html
Она также доступна по ftp по адресу
ftp://ftp.inp.nsk.su/pub/BINP/X11/fonts/cyr-rfx/00index.ru.html
"CYR-RFX" расшифровывается как CYRillic Raster Fonts for X.
Целью CYR-RFX является создание набора качественных кириллических
версий растровых шрифтов для X-Window.
Первоначально ставилась задача создать русифицированные версии
нескольких шрифтов семейства LucidaTypewriter для использования в xterm
и текстовых редакторах.
Затем задача была расширена -- создание такого набора шрифтов,
который покрывал бы большинство приложений X-Window. В качестве
основных при этом считаются: xterm, текстовые редакторы, Netscape, XV,
LyX, window manager'ы и GUI (fvwm/ (Требуемые шрифты выяснялись очень простым способом:
"grep -i font" по всем файлам в директориях
/etc/X11 и /usr/X11R6/lib/X11/app-defaults, а также при
помощи strings|less по исполняемым файлам программ и динамическим
библиотекам.)
Одной из целей CYR-RFX является создание аккуратных кириллических
версий стандартных шрифтов X.
Пакет Cronyx же (директория fonts/cyrillic в дистрибутиве
XFree86) во-первых, содержит шрифты, взятые скорее из Windows 3.x (см.
[CRONYX]), а не из X, во-вторых, эти шрифты -- не самые
эстетичные и приятные для глаза, а в-третьих, метрики в этих шрифтах
зачастую неверны, так что обычно текст, состоящий из разных шрифтов
(как вперемежку Cronyx/ISO8859-1, так и только Cronyx) выглядит
попросту "коряво". (Это обусловлено неправильным значением
FONT_ASCENT, а также несоответствием высот символов в разных
шрифтах с одинаковым значением PIXEL_SIZE -- например, в
шрифтах courier-medium-r-normal--14 и times-medium-r-normal--14.)
Автор далек от того, чтобы "поливать грязью" шрифты Cronyx -- в свое
время они были единственным вариантом для X, и их значение трудно
переоценить, но в настоящее время хочется лучшего.
Второй известный автору набор кириллических шрифтов -- условно
назовем его "75dpi.koi8-1" [75DPI_KOI8] -- сделан путем
добавления русских символов в стандартные шрифты. Но он, во-первых, не
содержит шрифтов Lucida/ Для больших разрешений векторные шрифты (TrueType и PostScript)
являются идеальным решением, для малых же разрешений (xterm, текстовые
редакторы, WWW, заголовки окон и т.д.) лучше подходят точно
рассчитанные и подогнанные вручную растровые шрифты. Именно они
применяются в этих целях как в X, так и в MS Windows и в MacOS.
Кроме того, наиболее распространенные TrueType-шрифты -- это те, что
поставляются в составе MS Windows и входят в MS Fontpack
[MS_FONTPACK]. Но, несмотря на "бесплатность", они не
являются свободно распространяемыми и практически неприемлемы для
нормального использования в Unix, т.к., к примеру, не могут быть
включены в дистрибутивы Unix вследствие поставляемого формата
(.exe-файл) и весьма иезуитской лицензии (см. [MS_EULA]).
В настоящий момент кириллизированы все iso8859-1-шрифты из
misc/ и шрифты семейств Lucida, LucidaTypewriter, Times,
Helvetica и Courier из 75dpi/; семейство NewCenturySchoolbook и
шрифты 100dpi/ держится в уме на будущее. Такой выбор шрифтов
обусловлен в основном тем, что они наиболее часто используются.
Первоначально предполагалось сделать символы кодировки koi8-1
[KOI81] (включая "Евро"
[EURO_A,EURO_H,EURO_M] и "Рубль"), затем
были включены украинские и белорусские символы из koi8-ru
[KOI8RU], и, наконец, в качестве менее необходимых,
кириллические символы из windows-1251/WGL4
[WIN1251,WGL4]. Автор не ставит перед собой
задачу сделать все кириллические символы, присутствующие в стандарте
Unicode -- лишь самые используемые.
В шрифты misc/ и 75dpi/lut[RB]S{08,19,24}.bdf были
добавлены символы пунктуации, присутствующие в koi8-1 и
стандартном наборе фирмы Adobe:
В остальных шрифтах они уже содержались в качестве unencoded glyphs.
В моноширинные шрифты LucidaTypewriter и Courier были добавлены
символы псевдографики в диапазоне 0x00-0x1F, чтобы их можно было
использовать в xterm и подобных программах (автор пользуется шрифтом
lutRS12).
В некоторые шрифты LucidaTypewriter добавлены также и "изображения"
управляющих символов из диапазона 0x00-0x1F плюс символа
0x7F (delete). Цель -- чтобы в программах, которые
отображают текст, не интерпретируя управляющие символы (текстовые
редакторы -- к примеру, xfte), а также в xterm при отображении символов
из этого диапазона, не имеющих специального назначения, отображалось
что-нибудь -- вместо абсолютно ничего.
В стандартных шрифтах Lucida и LucidaTypewriter, а также в
большинстве шрифтов misc/ свойство DEFAULT_CHAR
[BDF,XLFD] имеет значение 0. Поэтому в
моноширинные шрифты LucidaTypewriter и
misc/{10x20, В настоящий момент присутствуют следующие кодировки:
Кодировка winlatin-1 (она же cp-1252, она же
windows-1252) является надмножеством iso8859-1, но
содержит дополнительные символы в позициях 0x80-0x9F. Иногда
web-страницы, сделанные под Windows в cp-1252, передаются с
заголовком charset=iso-8859-1 [CZY_CP1252].
Во всех кодировках диапазон 0-127 совпадает с
ISO8859-1.
Поскольку готовые файлы со шрифтами генерируются программно, легко
могут быть добавлены другие кодировки.
Все шрифты имеют те же имена, что и стандартные, с несколькими
отличиями.
Такой подход позволяет максимально упростить кириллизацию
большинства стандартных программ, которые обычно используют или шаблоны
без указания кодировки, или псевдонимы "7x14", "fixed" и подобные. В
большинстве случаев достаточно поместить директории с кириллическими
шрифтами в начало FontPath, и они автоматически будут использоваться
вместо iso8859-1.
В основном использовались стандартные имена фирмы Adobe
[AGL]. Это относится символам из диапазона 0x20-0x7E,
кириллическим символам (имена afiiNNNNN), символам из диапазона
0xA0-0xBF кодировки ISO8859-1, символу "Euro", а
также к дополнительным символам пунктуации. Для символа "номер" было
взято имя "afii61352",
для символа "рубль" -- "rouble". Символы псевдографики получили
имена ldXXXXX (Line Drawing) по примеру шрифта
75dpi/tech14.bdf (-DEC-Terminal-*-DEC-DECtech), символ
0x00 -- имя "null", а остальные символы из диапазона
0x00-0x1F получили имена "ctrlX", где "X" -- символ с тем
же кодом плюс 0x40. Символ 0x7F получил имя "delete".
Символ неразбивающего пробела 0xA0 получил имя "space" в
соответствии с [AGL].
Символы, не имеющие стандартных имен Adobe, в соответствиии с
[UGN] получили имена вида uniXXXX, где "XXXX" --
шестнадцатиричный Unicode-код символа.
Шрифты создаются в два приема.
Сначала берется стандартный .bdf-шрифт из дистрибутива XFree86
(директория xc/fonts/bdf/*/), в него добавляются кириллические и
иные отсутствующие символы (основные русские -- в позициях koi8,
остальные -- в сравнительно произвольно выбранных позициях в диапазоне
0x80-0x9F; эта кодировка именуется "source encoding"). Шрифты
редактируются при помощи слегка модифицированного редактора XmBDFEd
версии 3.0 (иногда используется помощь редактора XPaint).
Затем специальная программа-сборщик, написанная на языке Perl
(cvtbdf.pl) считывает файлы, содержащие шрифт с кириллическими
символами и исходный ISO8859-1, и создает файл, содержащий шрифт в
указанной кодировке (koi8-1, windows-1251 и т.д.).
Поскольку XmBDFEd 3.0 не очень хорошо обращается с заголовками
некоторых шрифтов, то заголовки (а также параметр DWIDTH для
моноширинных шрифтов) берутся из ISO8859-1-шрифта. При этом
модифицируется заголовок "FONT", заменяются значения свойств
FNDRY, CHARSET_REGISTRY и CHARSET_ENCODING.
Кроме того, добавляются свойства COPYRIGHT2, SOURCEDATE
и ASSEMBLER.
Подробно это описано в §3, но если в нескольких словах, то
символы должны максимально соответствовать стилю шрифта.
Дело в том, что я попросту устал от весьма "корявых" и
неэргономичных шрифтов, не говоря уж об их неэстетичности. Поскольку
явно никто не чесался исправить ситуацию, то я решил заняться этим сам.
Созданием/кириллизацией растровых шрифтов я начал заниматься еще в
80-х годах на компьютерах БК-0010, Yamaha MSX и AT286, так что опыт
давал мне право надеяться на получение качественного результата.
Хотя в Internet есть довольно много рекомендаций по созданию
компьютерных шрифтов для языков на основе латиницы (см. например
[MSCDS], рекомендации по созданию или кириллизации шрифтов
отсутствуют. (Впрочем, существуют общие работы по добавлению
нелатинских символов в шрифты -- к примеру, [BH_DOUF],
[6X13README].) Поэтому автор постарался сформулировать
правила, используемые им в проекте CYR-RFX.
Автор не является экспертом по дизайну и созданию шрифтов, поэтому
всю нижеприведенную информацию следует рассматривать лишь как личный
опыт самого автора.
При добавлении же новых символов в чужой шрифт очень важно
попытаться восстановить эту "картину", чтобы добавляемые символы
соответствовали тому же стилю (аналогично тому, как должны
"проникнуться духом" картины реставраторы и изготовители подделок ;).
Большинство символов состоят из более-менее стандартных элементов --
к примеру, левая вертикальная черта в "k" и "h" практически всегда
одинакова (включая серифы). Поэтому пол-задачи -- "разглядеть" эти
стандартные элементы и правильно их использовать при создании
кириллических символов. Значительно помогает также то, что кириллица
весьма близка к латинице (по крайней мере, существенно ближе, чем
иврит).
Но некоторые кириллические символы или не имеют никаких близких
аналогов в ISO8859-1 (например, "д" и "л"), или же содержат
элементы, или совсем отсутствующие в ISO8859-1 (к примеру,
хвостик у "б"), или имеющие лишь отдаленные аналоги (как хвостики у
"д", "ц", "щ", "ъ").
В последнем случае следует искать похожий по стилю и "духу" шрифт
среди кириллических "старых", т.е. использовавшихся в книгопечатании
еще в докомпьютерную эпоху, или же (особенно если это новый шрифт,
например, Lucida), попытавшись воссоздать "картину" шрифта, создать
новый элемент так, чтобы он органично вписался в шрифт.
В случае CYR-RFX задача существенно упрощается тем, что требуется
кириллизировать лишь растровые шрифты размером от 8 до 24. Тем не
менее, даже в сравнительно небольшой матрице можно создать несколько
совершенно различных стилей букв -- см., к примеру, обсуждение символов
"д" и "л".
Кроме того, небольшая матрица накладывает свои ограничения, так что
приходится жертвовать "канонической" формой символа, чтобы сохранить
"впечатление" создаваемое его образом (чаще всего этому подвержена
буква "Ж"), или чтобы сохранить его "отличительность"
(например, буква "л" в шрифте 75dpi/timR10).
Ко всему прочему, кириллица хоть и похожа на латиницу, но имеет два
существенных "статистических" отличия.
Эти факторы приводят к тому, что, к примеру, русский текст выглядит
более "насыщенным", чем английский. Поэтому "одинаковость" внешнего
вида следует воспринимать как цель, к которой надо стремиться, но едва
ли возможно достичь. (По крайней мере, в рамках формата BDF, не
поддерживающего кернинг.)
Ниже приведены соображения по созданию и использованию как элементов,
составляющих кириллические символы, так и отдельных символов.
Некоторые кириллические символы являются точными копиями латинских
символов, и поэтому они берутся из шрифта ISO8859-1 как есть.
Русские символы (т.е. из диапазона
koi8:0xC0-0xFF/Unicode:0410-044F)
копируются при редактировании, а остальные -- при генерации шрифта
программой cvtbdf.pl.
Все эти символы изготавливаются на основе символа 0x0F
ldcross путем удаления лишних элементов.
Сам символ ldcross получается путем наложения символов
minus и bar и продолжения их линий до границ клетки
символа. Такое решение наилучшим образом удовлетворяет потребности
программ, которые используют псевдографические и "квазиграфические" (+,
-, |) символы вперемежку, например, talk.
Варианты (a)-(c) используются довольно часто.
(d), казалось бы, является результатом простодушного
получения "л" путем вертикального отображения "v" или удаления
перекладины у "A". Но именно этот вариант исторически наиболее
правильный -- ведь кириллица делалась на основе греческого алфавита, а
"д" и "л" происходят от греческих "дельты" и "лямбды". Этот вариант
широко применяется в современных шрифтах, и он рассматривался как
кандидат для Lucida.
(e) же -- типичный пример бессистемного подхода к
кириллизации шрифта (в принципе такое начертание иногда применяется в
декоративных шрифтах, к примеру, в Baskerville [BASK_C], но
оно совершенно неприемлемо в Times, Helvetica и подобных).
В шрифтах Lucida и LucidaTypewriter используется вариант (a) (он
получил предпочтение перед (d) в основном в силу его выбора авторами
семейства шрифтов Lucida [BH_DOUF,Figure1]).
В шрифтах misc/ используется (b) в силу того, что этот вариант
был наиболее распространен в моноширинных кириллических шрифтах еще в
эпоху ЭВМ ЕС, PDP-11, MSX и подобных.
В шрифте Helvetica применяется "комбинация" из (a) и (c): в шрифтах
малого размера -- (a), который с увеличением размера "плавно переходит"
в (c).
Реально рассматривались лишь два варианта. Поскольку в
Times-подобных шрифтах издавна применяется (a), то он и был выбран для
Times.
Для Courier вполне подходящим был бы вариант (b), при котором "Л"
получается путем удаления горизонтальной черты у "А". Но, поскольку
установилась практика, что Courier -- это шрифт, используемый взамен
того, что применялся на пишущих машинках (каковым был вариант (a)),
то для Courier также был выбран вариант (a).
Акценты обычно занимают значительное место сверху символа, поэтому
такие буквы в некоторых шрифтах ISO8859-1 имеют существенно
меньшую высоту (особенно это касается шрифтов misc/).
При создании кириллических букв с акцентами следует учитывать два
соображения. С одной стороны, вертикальные размеры всех заглавных букв
с акцентами должны быть по возможности одинаковыми. С другой, для
удобства чтения высота букв с акцентами должна быть максимально
приближена к высоте букв без акцентов (в идеале акцент должен быть
целиком расположен сверху прямоугольника буквы, а начертания одинаковых
букв с акцентами и без должны совпадать).
В качестве компромисса было выбрано следующее решение.
Кириллические буквы с западными акцентами "acute" ("'"), "grave" ("`")
и т.п. имеют ту же высоту, что и буквы с акцентами из шрифта
ISO8859-1 (к примеру, Eacute). Буквы же с акцентом
"краткости" -- "И краткое" и "У краткое" являются копиями букв "И" и
"У" соответственно, с высотой, уменьшенной в наименее возможной степени
(но одинаково для обоих этих символов!).
В шрифтах малого размера, когда европейские символы с акцентами
реально акцентов не имеют (к примеру, в 5x7.bdf символ
Eacute идентичен символу "E"), решение, делать ли акцент (или
символ будет копией такого же без акцента) принимается в каждом
конкретном случае отдельно, но по возможности акцент делается.
Акцент "краткости" в русском языке вообще несколько отличается по
статусу от акцентов в европейских языках. Дело в том, что, если в
европейских языках одна и та же буква (например, "a") может в принципе
иметь множество разных акцентов (grave, acute, circumflex, caron,
tilde, umlaut/dieresis, dot, ring и т.д.), то над "и" в русском,
украинском и беларусском языках может быть один-единственный акцент
"краткости" -- breve. Как следствие, сложилась практика, когда для
отличия "и краткого" от "и" достаточно просто любого значка. На
рисунке приведено несколько самых часто встречающихся примеров.
Акцент "breve" является наиболее предпочтительным, но корректное его
отображение при малом разрешении весьма затруднено -- такое
"закругление" занимает слишком много места и выглядит слишком
гипертрофированным (зачастую этим страдают шрифты, для создателей
которых кириллица не является родным алфавитом).
В Times-подобных шрифтах этот акцент может выглядеть не просто как
закругление, а как "соединенные хвостиками запятые".
"caron" может быть или маленьким вариантом "breve", или же
"галочкой", отличающей "и краткое" от "и".
"macron" используется также или как уменьшенный вариант "breve"
("хвостики" как бы столь малы, что не видны), или как "значок" для
отличия от "и".
"dot" применяется крайне редко, в основном, для символов очень
малого размера, когда этот акцент может рассматриваться в качестве
максимально уменьшенного варианта любого акцента.
И, наконец, "acute" применяется крайне редко (в основном в
рукописных текстах). Этот вариант свидетельствует скорее о небрежности
его использующего, т.к. обычно "acute" используется в качестве акцента
"ударения", т.е. "и+acute" -- это "и, на которое падает ударение".
В CYR-RFX используется "breve" как наиболее правильный, за следующими
исключениями шрифтов малого размера.
Использование "caron" в качестве уменьшенного "breve" совершенно
безвредно, т.к. в кириллических символах "caron" не применяется вовсе.
При применении же "macron" учитывается то, что он, с одной стороны,
применяется в "простых" шрифтах в русском, украинском и беларусском
языках де-факто, а с другой стороны -- единственный случай, когда могла
бы возникнуть визуальная неопределенность -- таджикские буквы
"и+macron" и "у+macron" (U+04E2/U+04E3, U+04EE/U+04EF)
[PISKA]. Причем, поскольку "у+breve" в таджикском
отсутствует, то остается лишь "и+breve"<->"и+macron". Так как эти
символы не входят в основной набор, поддерживаемый CYR-RFX, то
неопределенностью было решено пренебречь. (В тех шрифтах,
которые содержат более полный набор символов U0400, имеются
дополнительные варианты "и+breve" и "у+breve", используемые в кодировке
iso10646-0400.)
Горизонтальная часть "breve", используемого в "и кратком", почти
всегда имеет ту же толщину, что и горизонтальные линии в символах.
Таким образом, к примеру, в шрифтах courB{18,24} вид акцента в
"и кратком" отличается от символа "breve" (имеющегося в разделе
unencoded glyphs). Такой подход позволяет добиться более "целостного"
вида шрифта.
Русские символы упорядочены по алфавиту, остальные идут за ними в
порядке заглавных букв кодировки Unicode. Строчная буква (если есть и
отдельно от заглавной) идет сразу после заглавной.
Данные символы получались из "TSHE":040B и "tshe":045B
соответственно путем "заворота" конца правой нижней линии влево.
В разных гарнитурах конец правой "кривой" у "DJE" может или
располагаться на базовой линии (Computer Modern, Lucida, шрифты от
Microsoft) или же выступать вниз на то же расстояние, что и у "j"
(шрифт от Adobe, использованный в [5013]).
В CYR-RFX в шрифтах Times (включая 8x16 и 12x24) он
сделан выступающим вниз по образцу Adobe, а в остальных -- на базовой
линии.
Интересная проблема возникает при создании символов "НЬ" и "нь".
Казалось бы, следует просто "слить" начертания "Н" и "Ь", чтобы правая
вертикальная линия "Н" совпала с левой вертикальной от "Ь". Но
горизонтальная линия в "Н" может быть расположена на иной высоте, чем
верхняя линия закругления в "Ь" (обычно ниже; пример --
10x20.bdf), а в "НЬ" они должны образовывать единую линию.
Наилучшим выходом представляется перенос линии в "Н" на ту же высоту,
что и в "Ь".
Данные символы получаются путем вертикального отображения символов
"П"/"п" и добавления выступа снизу по центру. Если символ имеет четную
ширину, а толщина линий -- нечетная (medium-шрифты, к примеру,
7x13.bdf), или же символ имеет нечетную ширину, а толщина линий
-- четная (например, 8x13B.bdf), то выступ смещается вправо.
Кроме того, в малых шрифтах, когда размер выступа у букв "ц" и "щ"
-- 1 пиксел, а вертикальная линия в букве "p" выступает вниз от базовой
линии на 2 пиксела, то для заметности размер выступа у "DZHE/dzhe" -- 2
пиксела.
Эти символы получаются из "Ъ"/"ъ".
У заглавной буквы просто добавляется горизонтальная черта примерно
на середине выступающей вверх линии, а "хвостик" от "Ъ" удаляется
(заменяясь обычной небольшой чертой у серифовых шрифтов).
У строчной буквы вертикальная линия вытягивается до такой же высоты,
как у "b". Затем добавляется горизонтальная черта на высоте x-height
(т.е. там же, где и у "ъ", только в обе стороны).
[5013]
[6X13README]
[75DPI_KOI8]
[ACHE]
[AGL]
[ATYPE]
[BASK_C]
[BDF]
[BH_DOUF]
[CRONYX]
[CZY_CP1252]
[CZY_CYR]
[EURO_A]
[EURO_H]
[EURO_M]
[HELV_C]
[KOI81]
[KOI8R]
[KOI8RU]
[KOI8U]
[LUCIDA_FO]
[MSCDS]
[MS_EULA]
[MS_FONTPACK]
[MUSAEV]
[OFFTYPESANS]
[PISKA]
[TIMES_C]
[U0400]
[UGN]
[WIN1251]
[WGL4]
[XLFD]
§1.6. Каковы цели проекта CYR-RFX?
§1.7. Уже существуют кириллические шрифты для X (например, Cronyx), зачем же нужен CYR-RFX?
§1.8. Сейчас существуют растризаторы TrueType шрифтов для X, зачем же нужен CYR-RFX?
§1.9. Какие шрифты входят в проект CYR-RFX?
§1.10. Какой набор символов и какие кодировки присутствуют в CYR-RFX?
dagger, daggerdbl, guilsinglleft, guilsinglright, emdash,
endash, ellipsis, quotesinglbase, quotedblbase, grave,
quotesingle, quotedblleft, quotedblright, tilde, florin,
perthousand, bullet, trademark, circumflex; OE, oe, Scaron,
scaron, Zcaron, zcaron, Ydieresis.
Кодировка Состав koi8-1 полностью koi8-ru буквы, одиночная псевдографика и часть спецсимволов windows-1251 полностью ibm-cp866 буквы, одиночная псевдографика и часть спецсимволов iso8859-5 полностью mac-cyrillic без специфичных для Mac символов типа "Delta" и "infinity" winlatin-1 полностью iso8859-15 полностью §1.11. Какие имена имеют шрифты в CYR-RFX?
-adobe-times-medium-r-normal--14-140-75-75-p-74-winlatin-1
создается псевдоним
-adobe_winlatin_1-times-medium-r-normal--14-140-75-75-p-74-iso8859-1
-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-koi8-1
§1.12. Как выбирались имена отдельных символов в шрифте, указываемые после ключевого слова STARTCHAR?
§1.13. Как создаются шрифты CYR-RFX?
§1.14. По каким принципам создаются кириллические символы в CYR-RFX?
§1.15. Почему ВЫ занимаетесь кириллизацией? Вы специалист по шрифтам?
§2. Использование шрифтов CYR-RFX в приложениях
Надо написАть...
§3. Принципы создания кириллических символов в CYR-RFX
Создание шрифта есть акт искусства, и как художник уделяет внимание
мельчайшим деталям, так и при создании нового шрифта его автор как бы
рисует в голове "полную картину" этого шрифта, чтобы все символы
соответствовали единому стилю (в чуть меньшей степени это относится к
шрифтам misc/, которые ведут свою историю от алфавитно-цифровых
дисплеев и принтеров, где зачастую шрифты делались не профессионалами,
а теми, кто "оказывался под рукой").
§3.1. Символы, идентичные существующим латинским
Символы Копируются из C afii U+.. Символ ISO8859-1 Русские символы А 10017 0410 A 0x41 В 10019 0412 B 0x42 Е 10022 0415 E 0x45 К 10028 041A K 0x4B Н 10031 041D H 0x48 О 10032 041E O 0x4F Р 10034 0420 P 0x50 С 10035 0421 C 0x43 Т 10036 0422 T 0x54 Х 10039 0425 X 0x58 Ё 10023 0401 Edieresis 0xCB а 10065 0430 a 0x61 е 10070 0435 e 0x65 о 10080 043E o 0x6F р 10082 0440 p 0x70 с 10083 0441 c 0x63 у 10085 0443 y 0x79 х 10087 0445 x 0x78 ё 10071 0451 edieresis 0xEB Символы из WGL4 S 10054 0405 S 0x53 I 10055 0406 I 0x49 I: 10056 0407 Idieresis 0xCF J 10057 0408 J 0x4A s 10102 0455 s 0x73 i 10103 0456 i 0x69 i: 10104 0457 idieresis 0xEF j 10105 0458 j 0x6A Остальные символы из Unicode 04AA Ccedilla 0xC7 04AB ccedilla 0xE7 04AE Y 0x59 04E6 Odieresis 0xD6 04E7 odieresis 0xF6 §3.2. Общие элементы и группы символов
§3.2.1. Псевдографика из диапазона 0x00-0x1F
§3.2.2. Буквы "д" и "л"
1. Бессерифовые шрифты
........ ........ ........ ......... ........
..####.. ...###.. ...###.. ....#.... .....#..
..#..#.. ..#..#.. ...#.#.. ...#.#... ....##..
..#..#.. ..#..#.. ...#.#.. ...#.#... ...#.#..
..#..#.. ..#..#.. ..#..#.. ..#...#.. ..#..#..
_.######._.######._.######._.#######._.######._
.#....#. .#....#. .#....#. .#.....#. .#....#.
........ ........ ........ ......... ........
a b c d e
........ ........ ........ ......... ........
..####.. ...###.. ...###.. ....#.... .....#..
..#..#.. ..#..#.. ...#.#.. ...#.#... ....##..
..#..#.. ..#..#.. ...#.#.. ...#.#... ...#.#..
..#..#.. ..#..#.. ..#..#.. ..#...#.. ..#..#..
_.#...#.._.#...#.._.#...#.._..#...#.._.#...#.._
........ ........ ........ ......... ........
a b c d e
Варианты букв "д" и "л"
в бессерифовых шрифтах1. Шрифты с серифами
......... .........
..######. ..###....
...#..#.. ...#.#...
...#..#.. ...#.#...
..#...#.. ..#...#..
_.#######._.#######._
.#.....#. .#.....#.
......... .........
a b
......... .........
..######. ..###....
...#..#.. ...#.#...
...#..#.. ...#.#...
.#.#..#.. ..#...#..
_..#..###._.###.###._
......... .........
Варианты букв "д" и "л"
в шрифтах с серифами§3.2.3. Заглавные буквы с акцентами
1. Общие соображения
2. Акцент "краткости"
....... ....... ....... ....... .......
.#...#. ..#.#.. ....... ....... ....#..
..###.. ...#... ..###.. ...#... ...#...
....... ....... ....... ....... .......
.#...#. .#...#. .#...#. .#...#. .#...#.
.#..##. .#..##. .#..##. .#..##. .#..##.
.#.#.#. .#.#.#. .#.#.#. .#.#.#. .#.#.#.
.##..#. .##..#. .##..#. .##..#. .##..#.
_.#...#._.#...#._.#...#._.#...#._.#...#._
....... ....... ....... ....... .......
breve caron macron dot acute
Варианты буквы "и краткое"
........ ........
.##..##. ........
.##..##. .##...#.
.#....#. .##..#..
..####.. ..###...
........ ........
roman italic
Варианты акцента для
Times-шрифтов
НАПОМИНАНИЕ: 1. а "ЙО"?
2. упомянуть "Гupturn"
§3.2.4. Нижние выступы у букв "Д", "Ц", "Щ" и подобных
§3.2.5. Вертикальная черта при "К" и "Ч"
§3.2.6. "Крючок" при "Г", "П" и "К"
§3.2.7. Двухбуквенные лигатуры "НЬ", "ЛЬ" и подобные
§3.3. Отдельные символы
"DJE":0402:afii10051, "dje":0452:afii10099
"НЬ":040A:afii10059, "нь":045A:afii10107
....... ....... .......
.#...#. .#..... .#.#...
.#...#. .#..... .#.#...
.#...#. .####.. .####..
.#####. + .#...#. -> .#.#.#.
.#...#. .#...#. .#.#.#.
.#...#. .#...#. .#.#.#.
.#...#. .####.. .#.##..
....... ....... .......
Создание "НЬ" "DZHE":040F:afii10145, "dzhe":045F:afii10193
"ЯТЬ":0462:afii10146, "ять":0463:afii10194
Литература
ftp://ftp.adobe.com/pub/adobe/devrelations/devtechnotes/pdffiles/5013.cyrillic_font_spec.pdf
http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts.tar.gz
/README
http://www.kiarchive.ru/pub/cyrillic/x11/fonts/75dpi_koi8.tar.gz
http://nagual.pp.ru/~ache/koi8.html
http://partners.adobe.com/asn/developer/typeforum/glyphlist.txt
http://www.adobe.com/type/
http://www.adobe.com/type/browser/P/P_365.html
([ATYPE] -> A-Z type index -> B -> Baskerville Cyrillic)
ftp://ftp.adobe.com/pub/adobe/devrelations/devtechnotes/pdffiles/5005.bdf_spec.pdf
http://cajun.cs.nott.ac.uk/wiley/journals/epobetan/pdf/volume6/issue3/bigelow.pdf
http://www.kiarchive.ru/pub/cyrillic/x11/fonts/
ftp://ftp.kiarchive.ru/pub/cyrillic/x11/fonts/
(см. также файл README.set)
http://czyborra.com/charsets/iso8859.html#CP1252
http://czyborra.com/charsets/cyrillic.html
http://developer.apple.com/technotes/tn/tn1140.html
http://www.fonts.com/hp/euro/Eurodev1.htm
http://www.microsoft.com/typography/faq/faq12.htm
http://www.adobe.com/type/browser/P/P_361.html
([ATYPE] -> A-Z type index -> H -> Helvetica Cyrillic)
http://www.inp.nsk.su/~byrganov/publish/koi8-1/koi8-1.ru.html
ftp://ftp.isi.edu/in-notes/rfc1489.txt
http://cad.ntu-kpi.kiev.ua/multiling/koi8-ru/
ftp://ftp.isi.edu/in-notes/rfc2319.txt
http://cad.ntu-kpi.kiev.ua/multiling/koi8-u/
http://members.aol.com/willadams/lucida.txt
(Вероятно, лучшей работой является [Charles Bigelow and Kris Holmes, "The design of Lucida: an integrated family of types for electronic literacy", in Text processing and document manipulation, ed. J. C. Van Vliet, Cambridge University Press, (1986)], но у меня нет к ней доступа.)
http://www.microsoft.com/typography/developers/fdsspec/default.htm
http://www.microsoft.com/typography/fontpack/eula.htm
http://www.microsoft.com/typography/faq/faq8.htm
http://www.microsoft.com/Misc/cpyright.htm
http://www.microsoft.com/typography/fontpack/default.htm
http://www.paratype.com/library/newstyles.asp?fontcode=TM_OTS
http://www.tug.org/TUGboat/Articles/tb17-2/tb51pisk.pdf
http://www-hep.fzu.cz/~piska/
http://www.adobe.com/type/browser/P/P_354.html
([ATYPE] -> A-Z type index -> T -> Times Ten Cyrillic)
http://charts.unicode.org/Unicode.charts/normal/U0400.html
http://partners.adobe.com/asn/developer/typeforum/unicodegn.html
http://www.microsoft.com/globaldev/reference/sbcs/1251.htm
http://www.microsoft.com/typography/OTSPEC/WGL4.htm
ftp://ftp.x.org/pub/R6.4/xc/doc/hardcopy/XLFD/xlfd.PS.gz