makc 218 16 апреля, 2021 Опубликовано 16 апреля, 2021 · Жалоба 8 часов назад, starter48 сказал: Символы выглядят непропорционально широкими. Т.е. у них пиксели неквадратные, или шрифт при отрисовке дополнительно масштабируется по ширине. В среде есть коэффициент масштабирования по ширине, но он по-умолчанию равен единице. Доберусь до рабочего места и сделаю скриншоты некоторых символов, чтобы можно было оценить корректность импорта и отрисовки. 8 часов назад, starter48 сказал: Не понимаю для чего команды PROP и DISABLE_CHECKS. PROP - proportional ? DISABLE_CHECKS - скорее всего отключает внутренние проверки интерпретатора, если вообще используется. Попробую убрать эту строчку и посмотреть что из этого получится. 8 часов назад, starter48 сказал: Ещё мелкие вопросы: диапазон значений координат, способ обозначения ширины, нужно ли в начале описания глифа устанавливать координаты пера в (0,0)? Если есть идеи, как это можно проверить, то готов помочь. 8 часов назад, starter48 сказал: способ обозначения ширины, нужно ли в начале описания глифа устанавливать координаты пера в (0,0) Я кажется понял, как у них это работает. Ширина задаётся через две команды в начале описания каждого символа: Цитата INIT 0 0 INIT 79 0 Здесь ширина 79 у.е. Анализ приложенных ранее шрифтов явно на это указывает. Там есть пример моноширинного шрифта vf_plot.fnt и не моноширинного, например, vf_oldenglish.fnt Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 218 16 апреля, 2021 Опубликовано 16 апреля, 2021 · Жалоба Вот пример рендеринга двух шрифтов из приложенного выше комплекта: Параметры: высота шрифта 1.6 мм, толщина линии 0.15 мм. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
starter48 7 16 апреля, 2021 Опубликовано 16 апреля, 2021 · Жалоба В std-proportional.fnt: Скрытый текст # This is a PCB font file. Comment lines start with '#'. # Comments may also be added after valid input on any line # Blank lines are ignored. Characters may be in any order, # and are specified by their ASCII code (the number). The # character itself, e.g., '%', shown in these files is not # necessary and is merely shown for better readability. The font 'std' # must have all characters from 32 to 127 defined; other # fonts may omit characters, in which case std-font characters # are used for omitted ones. # Coordinates range from 0 to 100 in both X and Y. Keywords # CHARACTER, INITIAL, TERMINAL, BASE, and HEIGHT may be abbreviated to 1 or # more characters. The first point for each character must be # INITIAL. To specify a blank character, use a CHARACTER line # but do not include any points (see the space char 32 below) # The BASE of a font is the y-coordinate of the baseline, # generally the low point of a capital letter. The HEIGHT of # a font is the height (in these units) of a capital letter. # For most English fonts the HEIGHT will be (100 - BASE); however, # foreign fonts may have punctuation or accents that extend above # the normal height of capital letters, and in this case the # HEIGHT will be slightly less: # * # * # **** <- ----- # * ^ # ** * * HEIGHT # * * * v # **** * <- ----- BASE # * # * BASE 34 Y-coordinate of base of capital letters HEIG 66 Height of capital letters # identify this as a proportionally spaced font and specify # the inter-character spacing PROP 16 Но оно не совсем соответствует действительности... Думаю ширина задаётся по макс. координате X среди команд рисования глифа. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 218 16 апреля, 2021 Опубликовано 16 апреля, 2021 · Жалоба 2 минуты назад, starter48 сказал: Думаю ширина задаётся по макс. координате X среди команд рисования глифа. Вот и я про то же. Поэтому фактически размер знакоместа задаётся командами перемещения пера: Цитата INIT 0 0 INIT 79 0 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
starter48 7 16 апреля, 2021 Опубликовано 16 апреля, 2021 · Жалоба А ещё есть два других формата шрифтов: ACE font (SDD_HOME\standard\config\vbdc\*.fnt) PADS binary font (SDD_HOME\pads\win32\bin\*.fnt) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 218 16 апреля, 2021 Опубликовано 16 апреля, 2021 · Жалоба 26 минут назад, starter48 сказал: А ещё есть два других формата шрифтов: Да, я видел их. Но по-моему они не используются в редакторе топологии. Вот как влияет значение параметра PROP на начертание шрифта: Т.е. это коэффициент пропорциональности. Большее значение увеличивает ширину текста (размер по горизонтали), а именно расстояние между символами. Наложил шрифт с PROP 16 (голубой) на шрифт с PROP 4 (зеленый) и это стало отлично видно: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
starter48 7 16 апреля, 2021 Опубликовано 16 апреля, 2021 · Жалоба Соотношение сторон пикселя по шрифту std-proportional.fnt получается 42:100, т.е. координаты X надо домножать на 0,42 для получения aspect ratio=1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
starter48 7 16 апреля, 2021 Опубликовано 16 апреля, 2021 · Жалоба А ещё Ментор страшно глючит с русскими буквами: не обновляет ширину рамки выделения (selection box), а от некоторых русских букв (р) вообще срывает крышу с потерей возможности редактировать текст. Т.е. даже после добавления русских букв в шрифт, их не получится использовать т.к. проблема ещё и в коде Ментора. Проверял на VX.1.1 Ещё стоит делать редактор? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 218 16 апреля, 2021 Опубликовано 16 апреля, 2021 · Жалоба 1 минуту назад, starter48 сказал: А ещё Ментор страшно глючит с русскими буквами: не обновляет ширину рамки выделения (selection box), а от некоторых русских букв (р) вообще срывает крышу с потерей возможности редактировать текст. Т.е. даже после добавления русских букв в шрифт, их не получится использовать т.к. проблема ещё и в коде Ментора. Проверял на VX.1.1 Это в принципе ожидаемо, т.к. шрифт однобайтовый, а Windows ныне живёт в Unicode, что естественно добавляет проблем с совместимостью. Для DxDesigner это решалось таким образом: русский текст пишется в однобайтовом редакторе, после чего через clipboard вставляется в поле в DxDesigner. 16 минут назад, starter48 сказал: Ещё стоит делать редактор? В основно используется английский текст на плате. По-русски мало кто пишет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 16 апреля, 2021 Опубликовано 16 апреля, 2021 · Жалоба 26 минут назад, starter48 сказал: А ещё Ментор страшно глючит с русскими буквами: не обновляет ширину рамки выделения (selection box), а от некоторых русских букв (р) вообще срывает крышу с потерей возможности редактировать текст. Т.е. даже после добавления русских букв в шрифт, их не получится использовать т.к. проблема ещё и в коде Ментора. Проверял на VX.1.1 Ещё стоит делать редактор? У меня Pads Pro VX2.8, русские буквы отображаются нормально в схеме. Про платы сейчас ничего не скажу. Стоит делать, а то! Добавить экспорт в этот формат. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 218 16 апреля, 2021 Опубликовано 16 апреля, 2021 · Жалоба 1 минуту назад, ViKo сказал: У меня Pads Pro VX2.8, русские буквы отображаются нормально (в схеме). Сейчас это более-менее вроде починили, раньше было хуже. 1 минуту назад, ViKo сказал: Стоит делать, а то! Добавить экспорт в этот формат. Возможно там нужно использовать юникодные коды символов, по крайней мере попробовать. Т.к. кириллическую кодовую страницу из TTF Xpedition/PADS могут использовать и отображать в топологии. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
starter48 7 18 апреля, 2021 Опубликовано 18 апреля, 2021 · Жалоба Выложил v1.5.0.0 beta с поддержкой векторных шрифтов Ментора. Есть побочный эффект: при загрузке шрифтов из Ментора символы выравниваются влево, чтобы левый край совпал с осью Y - так пришлось сделать из-за того, что в Менторе используются параметр "левая граница" символа. В BGI (.chr) же левая граница - это и есть ось Y. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 18 апреля, 2021 Опубликовано 18 апреля, 2021 · Жалоба Как же эти шрифты менторовские располагать при редактировании? И сжимать по X лучше бы на время редактирования, а при экспорте растягивать под Ментора. Или в редакторе задать сжатие отображения по X. Для окна ввода тестового текста хорошо бы задать размер не в 2 строки, а в 8. Чтобы можно было весь набор сразу ввести. Я так делаю. Сейчас видно только две строки, хотя ввожу туда все 7. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
starter48 7 18 апреля, 2021 Опубликовано 18 апреля, 2021 · Жалоба 1 час назад, ViKo сказал: Как же эти шрифты менторовские располагать при редактировании? И сжимать по X лучше бы на время редактирования, а при экспорте растягивать под Ментора. Или в редакторе задать сжатие отображения по X. Координаты целочисленные - при растягивании/сжатии произойдёт потеря точности из-за округления. Надо переходить с квадратных на прямоугольные пиксели, но это большая переделка... 1 час назад, ViKo сказал: Для окна ввода тестового текста хорошо бы задать размер не в 2 строки, а в 8. Чтобы можно было весь набор сразу ввести. Я так делаю. Сейчас видно только две строки, хотя ввожу туда все 7. Поле многострочное - ввести можно на много больше двух строк. Гонять курсор можно стрелками или полосой прокрутки. Маленьким сделано для того, чтобы место место не занимало. Подумаю, как его можно динамически расширять... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 18 апреля, 2021 Опубликовано 18 апреля, 2021 · Жалоба 27 минут назад, starter48 сказал: Поле многострочное - ввести можно на много больше двух строк. Гонять курсор можно стрелками или полосой прокрутки. Маленьким сделано для того, чтобы место место не занимало. Подумаю, как его можно динамически расширять... Я знаю. Я же ввожу 7 строк. Но не вижу их всех одновременно. Хорошо бы дать пользователю возможность тянуть раздел между отображением и вводом. 30 минут назад, starter48 сказал: Надо переходить с квадратных на прямоугольные пиксели, но это большая переделка... Пиксели менять не обязательно, а вот сетку сделать с разными шагами по X и Y - можно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться