avshap: (necron_pic)
avshap ([personal profile] avshap) wrote2009-04-03 05:18 pm

Сюита "Русификация gEDA" для напильника, в сопровождении шаманского бубна

Шаг первый. gEDA (за исключением pcb, но это уже другая история) уже давно вся внутри юникодная и поддерживает русский язык из коробки, но никому этому не показывает. Потому что в стандартный шрифт забыли насыпать русских букв. Решение простое: нарисовать их самому или взять вот здесь.

Шаг второй. Подключаем буквы, убеждаемся, что gschem нормально показывает русский текст и пытаемся распечатать или экспортировать в eps. Убеждаемся, что на выходе получилась khuita - пустое место вместо части (в лучшем случае) русских букв.
А разгадка проста - безблагодатность при составлении encoding vector gEDA пихает для русских букв какую-то фигню вроде /emcyrillic /Decyrillic и т.п. Столкнувшись с такими новостями типографики ghostscript слегка шизеет и ставит глиф для отсутствующего символа (в зависимости от шрифта это может быть квадратик, пустое место или что-то ещё).

Напильник. Распаковываем исходники libgeda. Идём в директорию src, открываем файл f_print.c и ищем массив (точнее структуру) glyph_list. Где и заменяем все эти /zhocyrillic на /afii100xx (подробности смотреть в директории /usr/share/gs/${VERSION}/Resource/Decoding).

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

Post a comment in response:

(will be screened)
(will be screened if not validated)
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org