| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
19.01.2006, 13:18 | #1 | |
Добавление символов в шрифт
Регистрация: 15.06.2005
Сообщений: 184
|
||
Просмотров: 74424
|
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 470
|
Привет!
Если речь идет о шрифте *.shx, то нужно просто добавить соответствующие символы в *.shp и перекомпилировать его. На самом деле это не очень сложно. Маленькая проблема в другом - на машинах, где установлена старая версия шрифта, эти символы будут отображаться "знаками вопроса".
__________________
Счастливо, Алексей! |
|||
|
||||
CAD Регистрация: 28.08.2003
Киев
Сообщений: 1,835
|
Александер, почитайте для начала хотя бы здесь.
http://www.autocad.ru/cgi-bin/f1/boa...20060119100030 >===AAA=== ИМХО Когда у нас возник такой вопрос, мы добавили к стандартному имени файла шрифта индекс, не портя оригинальный шрифт и чтоб не путать. (В нашем случае 14, т.к. переходили от Акада версии 12 к 14). |
|||
|
||||
Регистрация: 30.08.2005
Ставрополь
Сообщений: 75
|
Оппа. У меня это сейчас является насущной проблемой. Все символы отображаются знаками вопроса. Единственное, что я научился делать, так это добавлять знак диаметра. Я вместо самого знака пишу %%c С остальными символами проблема, приходится каждый раз редактировать их при отправке на печать.
|
|||
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 470
|
Алан, а мы пошли по другому пути - централизованно заменили
файл шрифта на всех компьютерах института (более 500 ПК). Поблем внутри института никаких нет, а за пределы мы *.dwg файлы не отдаем (на то существует внутренний приказ) - только *.pdf. Так что и с "внешниками" проблем нет. :-)
__________________
Счастливо, Алексей! |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
К предыдущим постам могу добавить, что здесь
http://dwg.ru/dwl/187 лежит mipgost.shx, там же есть просмотрщик shx файлов (по моему он может и конвертировать в shp), если нет, то здесь http://www.cad.dp.ua/program1.php#part1 конверторы. Находишь знак № (есть в том же mipgost) и см. пост N2 с учетом N3. |
|||
|
||||
Регистрация: 15.04.2005
Сообщений: 243
|
Цитата:
Поищи на своём компьютере dumpshx.exe в директории Express. Компиляция в SHX команда compile. Уникодовский код для номера: *02116,13,numero sign 007,004E, 8,(-4,0), 007,00BA, 8,(-3,0),0 |
|||
|
||||
Регистрация: 15.04.2005
Сообщений: 243
|
Цитата:
|
|||
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 470
|
Привет!
Не все так просто. :-) Компьютеризация нашего института началась в 1991 году с машин XT и AT-286 - Кто из вас такие помнит? :-) Затем была сетка из "толстого" и "тонкого" изернета на коаксиале. - Ну это-то хоть помните? :-))) Если помните, то и помните, как работали такие сети на коаксиале - "неконтакт" в одном из сегментов и вся сеть встает "раком". Пока найдут причину, пока устранят... А работать-то надо! Поэтому и ставили АКАД по принципу "все свое ношу с собой", т.е. по- максимуму локально. Сейчас, конечно, многое изменилось - и оптика между этажами проложена и машины поменялись и (главное!) мониторы. :-) И часть ссылок из меню на сервер идет...
__________________
Счастливо, Алексей! |
|||
|
||||
Регистрация: 15.06.2005
Сообщений: 184
|
с файлом шрифта вроде разобрался, а как можно привязать новый символ к какой-нибудь кнопке, или сочетанию кнопок, где это прописывается, если можно поподробнее.
например было бы удобно добавленный символ № назначить сочетанию "shift+3" на русском раскладе. как это можно сделать? |
|||
|
||||
CAD Регистрация: 28.08.2003
Киев
Сообщений: 1,835
|
>Александер
Вот чем плохи самопальные шрифты: вначале рисуем символ, затем придумываем к нему код. У PG в шрифте russ_pg.shx по ссылке, номер - это как раз на русской раскладке Shift+3 "диаметр" "градусы" это в любом шрифте д.б.: %%c %%d c ёЁ - про неЁ забыли, ну и бог с ней переживЁм. |
|||
|
||||
Регистрация: 15.06.2005
Сообщений: 184
|
> ===AAA===
ну где на клаве Ё ё я конечно знаю )). я имел ввиду описание букв ё Ё, как например Залётный выложил для символа №. и для шрифта romans.shx чтобы буква выглядела также как е Е, только с точками. Ну да ладно с ними Ё ё. Главное хочу разобраться с символом № разложил romans.shx поменял *033,46,n3 2,14,8,(-10,-21),14,5,8,(5,21),1,0B0,8,(-6,-8),030,02F,01E,8,(1,-3),02C, 8,(-1,-3),02A,8,(-3,-1),038,8,(-3,1),016,025,2,8,(17,-4),14,6,14,8,(10,-9),0 на: *02116,13,numero sign 007,004E,8,(-4,0),007,00BA,8,(-3,0),0 получилось что на русском раскладе клавы печатает как надо символ №, на англ. раскладе печатает как и раньше #, а вот саму цифру 3 не печатает ни на рус. ни на англ. раскладе. где можно найти подробное описание что за что отвечает в кодах, где идет привязка к кнопке на клаве и зависимость расклада клавы, нажат shift или нет. |
|||
|
||||
Регистрация: 15.06.2005
Сообщений: 184
|
спасибо, с № разобрался. просто добавил его и все, а *033 трогать не надо было.
так значит код *02116 соответствует нажатию shift+3 на рус. раскладе? выходит что так? если да, то где можно посмотреть эти коды, я имею ввиду какой кнопке что соответствует, чтобы при необходимости можно было бы заменить что-то ненужное на что-то полезное. *033 - это 3 на клаве *034 - это 4 на клаве. а какой например код соответствует { или } ? |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
В лиспе есть ф-ция ACSII. чтобы узнать ASCII код символа
В ком. стоке набираешь (ascii "Ё") - 168 (ascii "ё")-184, это десятичное смещение в таблице ASCII, в shp файлах используется 16-тиричное (HEX). Удобно переводить обычным виндовским калькулятором в инженерном режиме (Вид->инженерный). Набираешь число в дес. системе и переключаешь в HEX. Так Dec 168 -> Hex A8. Добавляем символ 0 и ищем в shp строку *0A8 - это место описания Ё. Это касается 256 символов (управляющие (до 32), англ. алфавит, рус. алфавит). Из управляющих в shp отались *0A - перевод строки (line feed или lf) и *020 пробел. |
|||
|
||||
Регистрация: 15.04.2005
Сообщений: 243
|
Цитата:
http://www.microsoft.com/globaldev/tools/msklc.mspx Однако более гибкая возможность предоставляется при использовани http://www.ecw.hu/szp-software/keys_en.html и уникодовских последовательностей \U+XXXX XXXX - код симбола. При этом можно вводить последовательности из нескольких символов. И, на всякий случай, ссылка на кириличную страницу от unicode.org http://www.unicode.org/charts/PDF/U0400.pdf |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Вот нашел в хелпе
Цитата:
|
|||
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 470
|
Залётный, я же и говорю, что я подотстал малость
в этом деле, т.к. сменился круг обязанностей. Так, по необходимости поддерживаю "по вечерам" старые наработки - пользователей-то жалко, привыкли они. :-)
__________________
Счастливо, Алексей! |
|||
|
||||
Регистрация: 15.04.2005
Сообщений: 243
|
Цитата:
Ё уникодовский код 0401 - состоит из двух частей 0415 и 0308 (если они есть у вас в шрифте). Я просто использую сивол с кодом 00CB - LATIN CAPITAL LETTER E WITH DIAERESIS (но опять же этот символ должен быть в вашем шрифте). Для основы моего шрифта я использую simplex.shx и там он есть. В последних версиях Autocad этот фонт явно не виден т.к. Autodesk спрятал его в пользовательскую директорию. Код для буквы Ё выглядит так: *00401,4,cyrillic capital letter io 007,00CB,0 ; т.е. для символа 0401 рисовать shape 00CB Ё - код 0401, но он рисует 00CB Использовать код 00CB вместо кода 0401 для отображения буквы Ё, хотя они выглядят одинаково, считаю не правильным т.к. проверка грамотности будет понимать её как чуждый элемент. ё уникодовский код 0451 - состоит из 0435 и 0308 Для буквы ё я использую код: *00451,4,cyrillic small letter io 007,00ЕB,0 (смотри пояснения к букве Ё) Приимущества стандартного расположения букв в соответствии с уникод в том, что если отправили чертеж и забыли приложить фонт, то получатель может замeнить его на любой стандартный фонт (нaверное наиболее полный набор символов в arialuni.ttf, который имеется на любом XP компьютере, правда весит 22M) и правильно прочесть текст. В своем фонте стараюсь использовать символы, которые уже присутствуют в нем. Например, для надстрочных и подстрочных символов (коды 2070 - 209F) использую оригинальные и только маштабирую их и смещаю. ;------------- *02070,16,superscript ZERO 2,8,(0,14),003,2, 007,0030, 004,2,8,(0,-14),1,0 *02071,16,superscript i 2,8,(0,14),003,2, 007,0069, 004,2,8,(0,-14),1,0 *02074,16,superscript FOUR 2,8,(0,14),003,2, 007,0034, 004,2,8,(0,-14),1,0 *02075,16,superscript FIVE 2,8,(0,14),003,2, 007,0035, 004,2,8,(0,-14),1,0 *02076,16,superscript SIX 2,8,(0,14),003,2, 007,0036, 004,2,8,(0,-14),1,0 *02077,16,superscript SEVEN 2,8,(0,14),003,2, 007,0037, 004,2,8,(0,-14),1,0 *02078,16,superscript EIGHT 2,8,(0,14),003,2, 007,0038, 004,2,8,(0,-14),1,0 *02079,16,superscript NINE 2,8,(0,14),003,2, 007,0039, 004,2,8,(0,-14),1,0 *0207A,16,superscript + 2,8,(0,14),003,2, 007,002B, 004,2,8,(0,-14),1,0 *0207B,16,superscript - 2,8,(0,14),003,2, 007,002D, 004,2,8,(0,-14),1,0 *0207C,16,superscript = 2,8,(0,14),003,2, 007,003D, 004,2,8,(0,-14),1,0 *0207D,16,superscript ( 2,8,(0,14),003,2, 007,0028, 004,2,8,(0,-14),1,0 *0207E,16,superscript ) 2,8,(0,14),003,2, 007,0029, 004,2,8,(0,-14),1,0 *0207F,16,superscript N 2,8,(0,14),003,2, 007,006E, 004,2,8,(0,-14),1,0 ;-------------------------- *02080,16,subscript ZERO 2,8,(0,-2),003,2, 007,0030, 004,2,8,(0,2),1,0 *02081,16,subscript ONE 2,8,(0,-2),003,2, 007,0031, 004,2,8,(0,2),1,0 *02082,16,subscript TWO 2,8,(0,-2),003,2, 007,0032, 004,2,8,(0,2),1,0 *02083,16,subscript THREE 2,8,(0,-2),003,2, 007,0033, 004,2,8,(0,2),1,0 *02084,16,subscript FOUR 2,8,(0,-2),003,2, 007,0034, 004,2,8,(0,2),1,0 *02085,16,subscript FIVE 2,8,(0,-2),003,2, 007,0035, 004,2,8,(0,2),1,0 *02086,16,subscript SIX 2,8,(0,-2),003,2, 007,0036, 004,2,8,(0,2),1,0 *02087,16,subscript SEVEN 2,8,(0,-2),003,2, 007,0037, 004,2,8,(0,2),1,0 *02088,16,subscript EIGHT 2,8,(0,-2),003,2, 007,0038, 004,2,8,(0,2),1,0 *02089,16,subscript NINE 2,8,(0,-2),003,2, 007,0039, 004,2,8,(0,2),1,0 *0208A,16,subscript + 2,8,(0,-2),003,2, 007,002B, 004,2,8,(0,2),1,0 *0208B,16,subscript - 2,8,(0,-2),003,2, 007,002D, 004,2,8,(0,2),1,0 *0208C,16,subscript = 2,8,(0,-2),003,2, 007,003D, 004,2,8,(0,2),1,0 *0208D,16,subscript ( 2,8,(0,-2),003,2, 007,0028, 004,2,8,(0,2),1,0 *0208E,16,subscript ) 2,8,(0,-2),003,2, 007,0029, 004,2,8,(0,2),1,0 *02090,16,subscript a 2,8,(0,-2),003,2, 007,0061, 004,2,8,(0,2),1,0 *02091,16,subscript e 2,8,(0,-2),003,2, 007,0065, 004,2,8,(0,2),1,0 *02092,16,subscript o 2,8,(0,-2),003,2, 007,006F, 004,2,8,(0,2),1,0 *02093,16,subscript x 2,8,(0,-2),003,2, 007,0078, 004,2,8,(0,2),1,0 в том же духе и для дробей (коды 2150 - 215f) и (00BC - 00BE) Приношу извинение за столь длинное послание, но может кому-нибудь и пригодится. |
|||
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 470
|
Всем привет!
Вот уж не думал, что придется возвращаться к этому вопросу... Проблема вот в чем. Давным давно, в незапамятные времена понадобилось нам добавить в шрифт степень 2 и 3. То ли посмотрев на один из вариантов ASCII- раскладки, то ли по какой еще причине, были добавлены символы *253,20,sq 2,8,(0,70),1,10,(11,-045),9,(-22,-21),(22,0),(0,0),2,8,(20,-41),0 *254,26,n3d 2,8,(0,52),1,10,(11,046),9,(-5,0),(0,0),2,8,(5,0),1,10,(9,066),2,8,(40,-72),0 И работали мы в DOS-версии ACADa и горя не знали. Пришла пора Windows (ACAD-14) и эти символы трансформировались в виде *189,20,sq 2,8,(0,70),1,10,(11,-045),9,(-22,-21),(22,0),(0,0),2,8,(20,-41),0 *190,26,n3d 2,8,(0,52),1,10,(11,046),9,(-5,0),(0,0),2,8,(5,0),1,10,(9,066),2,8,(40,-72),0 В WINDOWSe эти символы выглядят, как "Ѕ" и "ѕ" - не путать с буквами "S" и "s" - выглядят одинаково, но код другой. Почему в эти коды - уже и не вспомню. Вероятно, так перекодировала одна из программ-перекодировщиков. Впрочем, вплоть до ACAD-2002 мы опять же горя не знали. Пришла пора переделывать шрифты на юникод. Добавили эти символы в виде: *000BD,20, степень 2 2,8,(0,70),1,10,11,-045,9,(-22,-21),(22,0),(0,0),2,8,(20,-41),0 *000BE,26, степень 3 2,8,(0,52),1,10,11,046,9,(-5,0),(0,0),2,8,(5,0),1,10,9,066,2,8,(40,-72),0 ... и получился маленький облом. Т.е., если писать текстовые строки в виде "мм%%189 м%%190", то все отображается, как надо. Но если открыть в ACAD-2004 (а новый шрифт мы поставили под него) старые файлы, то получаются "знаки вопроса". Зная, что символ № задается, как *02116,99, № логично предположить, что где-то в районе этого числа живут и коды наших степеней 2 и 3. Вопрос для тех, кто смог дочитать до конца :-) - какие это коды?
__________________
Счастливо, Алексей! |
|||
|
||||
Регистрация: 19.03.2004
Калининград
Сообщений: 1,842
|
Все как-то слишком непонятно.
В юникодовской таблице для степеней 2 и 3 зарезервированы позиции с кодом 00B2, 00B3. Но, если в шрифте степени прописаны под кодами 00BD (189) и 00BE (190), то соответствующие символы и должны отображаться. Вполне воэможно появление знаков вопроса в файлах чертежей, в которых коды знаков степеней старые (253, 254), а в шрифте у вас забит новый код. |
|||
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 470
|
Поясняю. Строка, которая в диалоге редактирования
выглядит, как: мм%%189 мS отображается на экране, как: мм[квадрат] м? Т.е. вроде бы должно все получаться, хорошо (код в шрифт вставлен), но не получается... :-( Способ ввода символа через %% работает, а "прямым кодом" - нет. Весь сыр-бор из-за необходимости обеспечить корректное отображение без переделки в АКАД-2004 с юникодовским фонтом файлов АСАД-14...АСАД-2002, выполненных с использованием обычного фонта. Файлы фонтов, разумеется, называются одинаково.
__________________
Счастливо, Алексей! |
|||
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 470
|
Привет!
Да в том-то и дело, что сейчас именно так и сделано. >00B2 - степень 2 >00B3 - степень 3 Точнее, даже так: ================================ *000B2,20, степень 2 *000B3,26, степень 3 ... skip ... *000BD,20, степень 2 *000BE,26, степень 3 ================================ При этом способ ввода через %% работает (он работал и раньше), а способ ALT-ввода с клавиатуры (когда одному символу соответствует один символ) - нет. А раньше работал! Бог бы с ним, с этим ALT-вводом, сказали проектировщикам, что так больше не работает - для _новых_ чертежей будут вводить через %%, но вот старые открываются со знаком "?", а сие напрягает. Из-за чего такая штука-то происходить может?
__________________
Счастливо, Алексей! |
|||
|
||||
Регистрация: 15.04.2005
Сообщений: 243
|
Цитата:
Как отметили: Цитата:
Цитата:
http://www.microsoft.com/globaldev/tools/msklc.mspx При этом количество символов вводимых непосредственно с клавиатуры практически удваивается. Для старых файлов (это не отразится на новых) нужно просто в стартовый лисп включить глобальную змену %%<код старого символа степень 2> на \U+00B2 и %%<код старого символа степень 3> на \U+00B3. Полагаю, что в новом шрифте степени 2 и 3 соответствуют позициям unicode. http://www.unicode.org/charts/PDF/U0080.pdf http://www.unicode.org/charts/PDF/U2070.pdf Удачи! |
|||
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 470
|
Привет!
Можешь подсказать ответ на прямой вопрос? 0. Открываем АКАД-2004. 1. Пишем в рисунке ДТЕКСТом слово "что-нибудь" для затравки. 2. Тыкаем в него мышью, появляется поле редактирования текста, переводим курсор в его конец, нажимаем ALT и "напрямую" вводим с клавиатуры два символа [ALT+0189] и [ALT+0190]. В окне видим "что-нибудь©®". Эти ©® изображены здесь условно, скорее всего, они отобразятся, как "S" и "s". 3. Закрываем окно. В рисунке видим строку "что-нибудь??". Вопрос: на какие *0XXXX, нужно добавить описание символов в файл *.shp, скомпилировав который под ACAD-2004, я увижу в чертеже "не вопросы". Это нужно для совместимости. Новые знаки "степень 2,3" будут добавляться уже в соответствии со стандартом юникода. Ну, вроде все по полочкам.
__________________
Счастливо, Алексей! |
|||
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 470
|
Чтобы облегчить жизнь тому, кто решит помочь, прикладываю файл.
Красным - как это должно выглядеть (текст разбит на линии, так что видите именно то же самое, что и мы). Черным - как оно выглядит (со знаками вопроса). russ_old - старый фонт. С ним все классно. Знаков ? нет. russ - новый фонт. С ним проблемы. Открывать в АСАД-2004 [ATTACH]1139984899.zip[/ATTACH]
__________________
Счастливо, Алексей! |
|||
|
||||
Регистрация: 15.04.2005
Сообщений: 243
|
Цитата:
%%178 степень 2 %%179 степень 3 %%189 степень 2 (как я понимаю, это для совместимости со старым шрифтом) %%190 степень 3 (как я понимаю, это для совместимости со старым шрифтом) \U+00B2 степень 2 \U+00B3 степень 3 и даже Alt+0178 (0179) (0189) (0190) у меня тоже нормально работают с твоим шрифтом несмотря, что Alt левый. Мне кажется, что они изображаются немного высоковато и крупновато, но это чисто эстетическое и не влияет на правильность прочтения текста. В чём проблема? Нормальный фонт. |
|||
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 470
|
Привет!
Ну, хоть скрины прикладывай. :-) Последняя попытка. 0. Создаем отдельную папку и распаковываем в нее файлы *.shx и 1.dwg (Надеюсь, собственных russ.shx на Вашем ПК нет). 1. Прямо в "проводнике" щелкаем мышкой по 1.dwg. Файл открылся. Надеюсь, что в АСАД-2004, но и в 2002 пойдет, проверял. 2. В "рамочке" вопросы видны? У меня видны. Это плохо. 3. Закрываем АКАД. 4. Переименовываем russ_old.shx на russ.shx. (При этом первоначальный russ.shx затирается, но не беда - он есть в архиве). 5. Снова п. 1. 6. В "рамочке" вопросы видны? НЕТ! Там степени 2 и 3. Это хорошо. Пусть высоковато и крупновато - так уж их нарисовали. Если у Вас в пункте 2 видны не вопросы, а "степени", то это очень интересно. Значит, у нас в реестрах или еще где прописаны какие-то разные кодовые страницы или что-то в этом духе. Надо выяснить, что - и проблема закрыта. Если все же в п. 2 видны вопросы, то смотрим заголовки файлов *.shx. russ_old.shx - старый, не юникодовский. russ.shx - новый, юникодовский. Надо сделать такой _юникодовский_ russ.shx (только в части степени 2 и 3), чтобы выполнялся п. 6, т.е. чтобы вопросы не отображались. То VVA: за ЛИСПих спасибо, но пока еще не угасла надежда со всеобщей помощью победить фонт. :-)
__________________
Счастливо, Алексей! |
|||
|
||||
Машиностроение, Проектирование Регистрация: 15.09.2003
Москва
Сообщений: 1,113
|
После добавления чего в шрифт, считаю, будет некорректо сохранять его под тем же именем.
О шрифтах еще глянь тут http://cadhlp.kulichki.com/pdshx.htm |
|||
|
||||
Регистрация: 19.03.2004
Калининград
Сообщений: 1,842
|
Да, похоже в файлах, выполненна конвертация текста, и теперь единственный способ - программный поиск и замена символов со знаком вопроса на степени. Или определить код этого символа и его описать как спепень в файле шрифта. К сожалению, сейчас не смогу этим заняться.
|
|||
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 470
|
Привет!
>После добавления чего в шрифт, считаю, будет некорректо >сохранять его под тем же именем. Отчасти - да, а отчасти - нет. Мое мнение - если в шрифт только добавляется что-то, то почему бы и нет. Иначе - имен не напасешься. :-) >О шрифтах еще глянь тут >http://cadhlp.kulichki.com/pdshx.htm Глянул. Там все о тех шрифтах, которые в моих постах фигурируют, как "старые". С ними-то проблем нет. Проблема с новым, юникодовским, да и то только с двумя символами. Или я не туда гляжу?
__________________
Счастливо, Алексей! |
|||
|
||||
Машиностроение, Проектирование Регистрация: 15.09.2003
Москва
Сообщений: 1,113
|
Цитата:
Цитата:
Коды символов можно еще посмотреть через таблицу символов виндов. |
|||
|
||||
Пытаюсь добавить достаточно много символов в шрифт romans.shx но почему-то не хочет добавлять...
Сама форма символа сделана правильно. Создавал отдельный шейп с номером 1 - компилируется. Пытаюсь тоже самое создать с номером 412 (10dec) - 019C (16hex) - не хочет создавать - пишет что "Длина описания больше указанной в заголовке" В чем проблема?
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
|
||||
В добавок к проблемме не отображается субформа.
Задача такая:Нужно описать все римские цифры в шрифт romans.shx на определенные места+вместе с римской должна идти арабская маленькая "субциферка" но она у меня тоже не отображается *019C,23 0E0,2,0F4,064,1,0E8,2,070,1,8,(0,-21),2,8,(9,0),3,2,7,032,4,2,0
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
|
||||
Не совсем уверен, что то, но есть мнение что дело вот в чем.
В shp файле, в начале задаются параметры габарита символов. Вот отсюда http://cadhlp.kulichki.com/pdshx.htm Цитата:
Возможно у тебя буквы сделаны в другом масштабе, и не помещаются в установленные габариты. А если не то, то выложи shp файл, и нарисованную букву которую надо туда вклинить (dwg, желательно сделанную в соответствии с габаритами шрифта)
__________________
Блог |
||||
|
||||
Да, дело в заголовке.
*UNIFONT,6,ROMANS Copyright © 1997-2004 by Autodesk, Inc. 21,7,2,0,0,0 *019C,13,I2 0E0,2,0F4,064,1,0E8,2,070,1,8,(0,-21),0 Сам символ 1 римской получился. Нужно дорисовать например двойку в конце в 2 раза меньше. Делал так: 2,8,(9,0),3,2,7,032,4,2 - повидиму это и дает ошибку
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
|
||||
По #57
Пока файлы не выложишь не пойму конкретно где прокол. По #58 Что такое суб форма? Сообщение не понял вообще.
__________________
Блог |
||||
|
||||
Red Nova, Зачем выкладывать если все есть в поставке акада?
Шрифт romans.shx - декомпилируешь в romans.shp Вот то что пытаюсь добавить: *019C,17,I2 0E0,2,0F4,064,1,0E8,2,070,1,8,(0,-21),2,090,7,032,0 но не хочет принимать подчеркнутое. Вопрос: как правильно выводить суб форму? Цитата:
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
|
||||
Когда я делал шрифт, у меня в коде не было букв, писал по только цифрами. Знаю что буквами можно писать Шестнадцатеричный Код, но больше ничего про буквы в коде не знаю. Вот и хочу увидеть букву (которую надо изобразить) в формате dwg, чтобы понять как ее написать пользуясь моими познаниями. Конкретно на твой вопрос
Цитата:
__________________
Блог Последний раз редактировалось Red Nova, 09.07.2008 в 15:42. |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,853
|
Я не уверен, но, может http://cadhlp.kulichki.com/pdshx.htm подскажет решение?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Кулик Алексей aka kpblc, там вообще нет упоминаний про код 7.
Red Nova, попробуй нарисовать любую букву, символ или возьми это 0E0,2,0F4,064,1,0E8,2,070,1,8,(0,-21),0 это и есть символ за которым долна следовать цифра (любая). Но задача лежит через код 7. просто копировать цифру не хочу - долго и много делать надо.
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
|
||||
Аа, теперь нашел субформу. Это ссылка на другой символ из этого файла. Я тоже не пойму как ее корректно вписать. Все пишет
Цитата:
__________________
Блог |
||||
|
||||
А вот выдержка из справки
Цитата:
*019C,22,I2 0E0,2,0F4,064,1,0E8,2,070,1,8,(0,-21),2,090,3,2,7,0032,4,2,0
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
|
||||
Я самый последний нашел, хотел осчастливить, но вон вас уже скока счастливых.
__________________
Блог Последний раз редактировалось Red Nova, 09.07.2008 в 17:44. |
||||
|
||||
Регистрация: 19.03.2004
Калининград
Сообщений: 1,842
|
Александер,
Добавить символ очень просто. SHX декомпилируешь в SHP. Добавляешь описание нужного символа, и обратно в SHX. Почитай http://cadhlp.kulichki.com/pdshx.htm |
|||
|
||||
KSI,
Все то, да только сообщению от Александер более двух лет.
__________________
Блог |
||||
|
||||
Цитата:
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
|
||||
zeich, А зачем 2 раза писать. Тебя точно забанят за неуважение к форуму.
По делу: Для декомпилирования шрифта .shx есть специальные программы. Например shx2shp или SHXViewer. Сразу предупреждаю - не пиши где взять. Попробуй сам поискать в инете или на этом сайте в downloadе.
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
|
||||
zeich, если очень большие проблемы с русским языком, попробуй писать сообщения в Wordе, а после вставлять проверенный текст в сообщение.
По делу: Не очень понимаю какая стоит задача... Расскажи подробно что необходимо тебе сделать. Если тебе нужно исправить шрифт - добавив символ или отредактировать его, то попробуй почитать справку пункт: "Руководство по адаптации - Формы и шрифты". Если что-то получаться не будет - пиши. Первое чему там нужно научиться это компилировать формы. Andgy, не вижу смысла в этих ключах. Лично я себе сделал памятку в виде наиболее мною употребляемых символов и их вызов. А если нужен какой то другой символ, то через SHXViewer можно найти и посмотреть его код.
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
|
||||
Регистрация: 16.11.2008
Сообщений: 67
|
Здрасьте всем! )
можт кто поможет? у меня вот какая проблема: надо написать верхним или нижним индексом шрифтом Times New Roman в многострочном тексте в AutoCAD 2005. поскольку Times New Roman стандартный шрифт формата *.ttf то по началу пытался делать руководствуясь инструкциями, изложенными здесь: http://www.caduser.ru/cgi-bin/f1/board.cgi?t=15516sh но как ни пытался, так и не смог понять, как работают эти самые коды "m%%178", "m%%179" "M{\H.60x;\S2;}" и "м\U+00B2" (т.е. где и как эти коды должны набираться) (((( решил пойти другим путём: взял в винде стандартный файл шрифта Times New Roman с расширением *.ttf конвертировал его при помощи FontASM 2.00 в *.shx, а затем при помощи SHX Viewer в *.shp. в SHP-файле, руководствуясь инструкциями справки AutoCAD 2005, добавил в конец файла строки: *91,8,super_on 2,8,(0,74),003,2,1,0 *93,8,super_off 2,004,2,8,(0,-74),1,0 *123,8,sub_on 2,8,(0,-74),003,2,1,0 *125,8,sub_off 2,004,2,8,(0,74),1,0 при этом, конечно же, отменил имевшиеся ранее строки *91/*93/*123/*125 ...соранил файл... при попытке скомпилировать сей файл ACAD выдал: " Описание должно начинаться с заголовка '*n,длина,имя' " заголовок моего файла при этом был: " *0,4,Times New Roman,1,0,0,18 [Bold] GGA:FONTasm!-v2.00 " длина в этой строке, как я понял, "4". к сожалению здесь слишком мало написано про длину: http://cadhlp.kulichki.com/pdshx.htm (в данном случае не понятно КАКУЮ длину должна содержать строка описания). попробовал поменять длину (" *0,3,Times New Roman,1,0,0,18 [Bold] GGA:FONTasm!-v2.00 "), ACAD пишет: " Неверная длина описания формы 3 " попробовал вообще убрать длину (" *0,Times New Roman,1,0,0,18 [Bold] GGA:FONTasm!-v2.00 "), ACAD пишет: " Неверная длина описания формы -1234 " ЧТО ДЕЛАТЬ??? ПОДСКАЖИТЕ, ПЛИЗ! |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
1. Набери в редакторе многострочного текста S11^.
2. Выдели символы 11^ 3. На панели станет черной кнопка a/b. Жми ее 4. Смотри результат
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Цитата:
Единственное добавлю: то, что ты пытался сделать через справку, решение для однострочного текста и для векторного шрифта AutoCAD. В многострочном этого делать не нужно. Если хочется сделать и для однострочного эти 4 формы, скидывай файл.
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
|
||||
Регистрация: 16.11.2008
Сообщений: 67
|
смысл ясен, спасиб)) а как для нижнего индекса это будет выглядеть?
тока вот не задача: в поле индекса у меня должны быть буквы, причём русские. при нажатии кнопочки a/b выделенный кусок превращается в вопросики(((( а при латинице - всё нормально. |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
А подумать?
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
По крайней мере я их не знаю Да и знать уже не хочу, т.к. 2005 Авткад начал уже забывать
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Подниму темку.
Пригодился мне тут шрифт gostw.shx. Шрифт старый не ЮНИКОДовский. Там нет %%c %%d %%p Читаю справку Цитата:
Код:
Ну а теперь при записи %%c в шрифте, отображается буква Ш. При этом в свойствах отображается значек диаметра. В SHX Viewer тоже все нормально видно. Никто не знает в чем дело?
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) Последний раз редактировалось wetr, 19.11.2008 в 06:11. |
||||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Ты умудрился взять самые неподходящие шрифты (которые вчера выкладывал), в которых на нужных местах нет нужных символов. Вот и всё.
Для того, чтобы знак диаметра отображался правильно, надо чтобы он был с кодом 2205, это аналог %%c. В ранних версиях диаметр был на другом месте. Для совместимости в хороших шрифтах наиболее популярные символы дублируются в нескольких местах. %%c - это "псевдоним" диаметра. В разных версиях AutoCAD он может ссылаться на разный физический адрес описания символа. Не исключаю, что в каких-то национальных языках диаметр обозначается каким-нибудь иероглифом. |
|||
|
||||
Насколько я понял, код U+2205 для диаметра применяется только в Юникод-шрифтах. Здесь вроде, не юникод (могу ошибаться - знания поверхностные).
Цитата:
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) Последний раз редактировалось wetr, 19.11.2008 в 07:23. |
||||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
А какой там может быть секрет?
Вот выкопировка из этого шрифта Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Ребята, у меня не юникодовский шрифт. Код 2205 мне не подходит. Я хочу понять почему у меня не работают знаки: градус, диаметр, плюс/минус, если я их ставлю на их законные места... SHX Viewer показывает все нормально...Почему автокад не хочет показывать. Больше того, в шрифте уважаемого Поспелова Геннадия, тоже не видно этих знаков, только "н", "ш", "с". На приложенном файле его шрифт внизу справа.
VVA, твой шрифт отличный, но у него есть 1 минус: плохо себя ведет с мультилидерами. Из моих опытов выходит, что нормально с мультилидерами работают шрифты сделанные только прямыми (без дуг). Исключение - все тот же шрифт gostb_pg от Геннадия. Теперь хочу использовать отдельный шрифт для мультилидера, mipGost для всего остального. Вот отдельный шрифт как раз и нужен максимально похожий на mipGost, только без дуг. Под это определение подходит больше всех gostw.shx
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) |
||||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
В #90 заменен файл шрифта.
Что сделано: 1. Шрифт совместимый с MLEADER (устранен эффект "прилипания" к полке). 2. Включено много дополнительных символов (Римские цифры, прокатные профили и т.д). 3. Коды дополнительных символов совместимы со стандартами UNICODE. Символы, отсутствующие в UNICODE по возможности размещены на тех же местах, где они были в других популярных шрифтах. 4. Все клавиатурные символы размещены на штатных местах. Вариант ещё не окончательный, требует дополнительного тестирования и документирования. |
|||
|
||||
Загадка прилипания круглого текста разгадана. Все дело в способе написания самих букв. Если в шрифте буквы начинаются с 0 по оси y, то буквы с дугами будут прилипать. Наверно непонятно объяснил, приложу скрин из viewer_a, как надо делать буквы
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) |
||||
|
||||
Почему в мтексте \U+2205 отображается как Ш??? В любом *.shx шрифте?
*Добавлено. Шайтан какой-то. Сейчас отображается...
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) Последний раз редактировалось wetr, 24.11.2008 в 09:44. |
||||
|
||||
KSI, AutoCAD 2009 sp3.
Цитата:
Цитата:
...Получается все может зависеть от версии када. Надо дома попробовать. И нужно запихать описание символа в разные места(какие?...), так, чтобы в любой версии отображалось все корректно. Хотя справка моего када говорит тоже самое что и раньше Цитата:
Я понимаю, что в этом шрифте все символы стоят наперекосяк, не на своих местах, но проблема не в этом(при желании можно все расставить все на свои места) - проблема в том, что диаметр стоит на своем месте, согласно справке, но не отображается в автокаде. Как это победить? Кто-нибудь знает?
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) |
||||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
Цитата:
В штатных шрифтах для ранних версий AutoCAD диаметр был на 258 месте. Псевдоним %%c направлял на этот адрес. Чтобы "победить" надо просмотреть шрифт через Shx Viewer и убедиться, что все на своем месте. Не забываем также, что файл шрифта перечитывается после перезагрузки AutoCAD. |
|||
|
||||
В этом, который самый неудачный GOSTW.shx
Прикладываю файл и скрин из Shx Viewer где все красиво. В свойствах шрифта в графе "Содержание" изображен ДИАМЕТР.
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) Последний раз редактировалось wetr, 28.11.2008 в 07:37. Причина: очепятка |
||||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Так это неправильный шрифт! В одном из наихудших вариантов. На самом деле в качестве диаметра там используется код 92 - это слэш. Только рисуется знаком диаметра. Кто-то, шибко хитрый, повесил на клавишу \ рисование диаметра. Это противоречит и Unicode, и адресу для старых версий.
Начиная с 2007 в Автокад должен использоваться Юникод. Для %%c Автокад обращается на 2205, а там его нет, вот и подставляются левые символы. |
|||
|
||||
да, я видел, что там все не как у людей. И не только диаметр.
Т.е. получается, что в новых автокадах не работают старые шрифты? Груссно, очень грусно. Ну ничего. Можно взять за основу юникод шрифт и накидать туда понравившиеся буквы
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) |
||||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
ShaggyDoc, Особо не рассматривал шрифт из #90, но заметил, что при описании "круглых" букв рисование дугами не используется. Это сделано для
Цитата:
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 28.11.2008 в 11:36. Причина: орфография |
|||
|
||||
Я бы с радостью, но у вас, какой-то странный шрифт получился. Буквы не прилепают, но заметно опускаются. С, З, цифры 3,5,9. Маленькие буквы - совсем грусно. Этот шрифт тоже исключение.
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) |
||||
|
||||
Цитата:
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) |
||||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
Вот здесь и ошибка. У AutoCAD, видимо, имеется такой глюк - ранее нарисованная "плохим" шрифтом выноска не изменяет эффекта прилипания. Попробуй сдвинуть выноску и буквы отлипнут. Не прилипают и новые выноски. Шрифты, условно названные "воистину плохими" не отлипают и при перетаскивании. Шрифты, условно называемые "условно хорошими" отлипают. "Безусловно хороших" пока не нашлось. Конечно, можно приподнять в описании шрифта символы от линии основания, но это слишком большая работа. И неизвестно, чем кончится. Простого решения, чтобы с гарантиейи без побочных последствий приподнимался любой шрифт пока не находится. |
|||
|
||||
Баловался тут недавно с формами и наткнулся тут на код 15. Он нигде не описан, но возможно он есть, потому как компилится. Может кто по нему чтонить скажет?
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
|
||||
Шеснадцатиричный.
0F Я сильно не эксперементировал. Его можно вычислить методом тыка, а может кто знает где посмотреть про него. А может он вообще зарезервирован. Но мне хотелосьбы его задействовать под одну деталь...
__________________
Поезд который устал от ржавого здравомыслия рельсов... Последний раз редактировалось Shoorup, 01.12.2008 в 12:11. |
||||
|
||||
KSI, ты меня не правильно понял. Я говорил не про код в таблице аски или юникода. Я про код описания файлов форм.
000-Конец определения формы 001-Включение режима отрисовки (опускание пера) 002-Отключение режима отрисовки (поднятие пера) 003-Деление длин векторов на следующий байт 004-Умножение длин векторов на следующий байт 005-Занесение текущей позиции в стек 006-Восстановление текущей позиции из стека 007-Отрисовка субформы, номер которой определяется следующим байтом 008-Смещение по осям X-Y, заданное следующими двумя байтами 009-Ряд из нескольких смещений по осям X-Y, оканчивающийся на (0,0) 00A-Октантная дуга, заданная следующими двумя байтами 00B-Дробная дуга, заданная следующими пятью байтами 00C-Дуга, заданная смещением X-Y и прогибом 00D-Несколько дуг, заданных прогибом 00E-Обработка следующей команды только для вертикального текста 00F-???
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Толкуете о разных вещах, называя их "код". Если под "кодом" понимать номер символа, то он может быть любой, в пределах до 10FFFF в Unicode. И "скомпилится". В принципе, изображение символа может быть любым, но правильно назначать стандартным местам стандартные изображения.
Очень плохо пытаться присваивать свои символы "ненужным" клавишам. Типа на \ привязать значок диаметра. А все клавиши давно заняты. Код 15 - это нажатие Shift, это управляющий код. В диапазоне 0000...007F вообще ни с чем не надо влезать, особенно с грязными лапами. Возможно Shoorup имеет ввиду управляющий код для создания самого символа, вот он мог бы "некомпилиться". Но и здесь в недокументированные, даже если обнаружатся, незачем лезть. Толку-то никакого. |
|||
|
||||
Об этом и толкую! Компилится, но что он делает не знаю. Вообще очень мало чего нашел в инете по кадовским шрифтам и по формату описания. Вообще формат не сложный и компиляция ничего специфического не делает. Добовляет заголовок и всё. Все остальные данные пишутся так как описывались в файле форм. Судя по заголовку компилированного файла форм, он ведет свою историю с акада 86. Причем есть версия и 1.0 и 1.1. Может у кого есть инфа по данной теме?
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
|
||||
Offtop: Если акад пропускает этот код и ничего не делает, то думаю можно применить данную "фенечку" в других кад системах. Можно даже нанософту предложить идею.
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
По поводу прилипания шрифта в мультивыноске. Уточнение #95 :
Выясняется (по крайней мере на моем шрифте mipgost), что отрыв шрифта от линии основания эффекта не дает. Может дело еще в чем-то. Экспериментальным путем выяснилось, что за "прилипание" шрифта отвечают нижние дуги символа. На картинке проблемный участок помечен красным. У цифры 3 слева дуга апроксимирована 4 хордами, справа - дуга осталась дугой. Закругление выше сделано дугой в обоих случаях. Отличия выделены красным Цитата:
Еще добавлю #108, что у "условно хороших" шрифтов буквы отлипают, если начать редактировать выноску и нажать OK ***Добавлено 03.02.2009 Еще одна причина "прилипания" - буквы Ё и Й. Все части букв должны быть вписаны в высоту шрифта. Если шрифт описан как Цитата:
4 - ниже базовой линии Буква Ё рисовалась как Е (14 векторов в высоту) и с отступом в один вектор еще черточки. Т.е. получалось 16 векторов Оказалось для этого случая достаточно изменить описание шрифта Цитата:
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 03.02.2009 в 19:01. Причина: Добавление информации |
|||
|
||||
КИПиА Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
|
Shoorup
>>Offtop: Если акад пропускает этот код и ничего не делает, то думаю можно применить данную "фенечку" в других кад системах. Можно даже нанософту предложить идею и как это можно использовать? учитывая что внутри када нано или авто без разницы, шрифты хранятся явно не в shx, и 0F пропадет при загрузке |
|||
|
||||
Да я тоже замечал
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) |
||||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
VVA, wetr - посмотрите вот этот шрифт. В архиве shx и ttf. TTF - для диалоговых окон. Проблемы с прилипанием вроде бы решены.
Последний раз редактировалось ShaggyDoc, 03.02.2009 в 06:57. |
|||
|
||||
Шрифр хороший, но mipGost красивее...
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) |
||||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
ShaggyDoc, Хочу уточнить один вопрос касаемо области личного применения.
Цитата:
Шрифт CS_Gost2304.shx прилагаю. Хотелось бы посмотреть на CS_Gost_2304.shx. У кого есть выложите.
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
ShaggyDoc, Я как раз вчера копался на unicode.org, но законных мест проката не нашел. Можно ссылку. Это я к тому, что Krieger прислал еще парочку профилей. Хочется все сделать правильно. Предполагаемая добавка
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Конкретно проката в UNICODE нет. Прокат оставил в диапазоне от E720, как в mipGost. В CS_Gost2304 там же, в SPDS_nano. Хотя бывают разные шрифты с одним названием.
Конечно, хочется правильно. Вообще-то, как я понял, для включения в стандарт надо давать свои предложения в не занятый диапазон. Потом, когда-то, их может быть учтут. А можно и свой фактический стандарт сделать. Кого бояться-то? Другие, которые нашел в UNICODE я перенес - римские цифры, еще что-то. Чтоб были на законных местах. Юникод я разбирал в Википедии - на русском и более наглядно. |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Про римские понятно. Раз уж занялся, то верну их на свое место. Я имею ввиду, что в шрифте CS_Gost2304.shx ,к примеру, по адресу E723 расположен прокат из двух диагонально расположенных уголков, в шрифте ruCAD по адресу E723 - коробочка из 4 уголков,
rucad.shx - адрес E724 - швеллер CS_Gost2304.shx - адрес E724 - 2 швеллера и т.д. Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Ну, прокат-то я действительно поменял. А где встретится два диагональных уголка в реале? Или швеллер, к котором уголок сбоку прилеплен? А швеллер и двутавр рядом?
Ведь шрифтом будут подписывать, например, вдоль схем металлоконструкций, в спецификации. Поэтому я там кое-что явно ненужное и убрал. Но, разумеется, эту часть можно и обсудить прилюдно, с теми, кто реально работает и сделать единый оптимльный вариант. |
|||
|
||||
Инженер-строитель Регистрация: 15.08.2007
Киров
Сообщений: 2,204
|
|
|||
|
||||
В фермах обычное дело
Цитата:
Другое дело, есть ли среди пользователей Рукада строители? Нужно ли это кому нибудь?
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) |
||||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
wetr, конечно спрашивал я у строителей - что надо. Они и подсказали.
Разумеется, в практике могут быть самые разнообразные сочетания профилей, вопрос в том - надо ли их в шрифт вводить. Где именно шрифт нужен? Например, на схемах подписать сечение. В спецификации, ведомости. Какое-то экзотичное сочетание никогда и не встретится, или раз в жизни. Но ничто не мешает добавить в шрифт всё, что требуется - делов-то. Предлагаю просто всем желающим предложить свои варианты. А мы и в шрифты их внесём. Да согласуем, чтобы на единых местах были. Или вообще единый оптимальный шрифт можно сделать с учётом всех обнаруженных косяков. |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Цитата:
Имеем: 1. Предложения новых профилей от Krieger'a #125 2. Нестыковка некоторых символов rucad.shx, mipgost.shx, CS_Gost2304.shx в позициях E7XX (см. #127) Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
инженер-преподаватель ;-) Регистрация: 14.10.2008
Санкт-Петербург
Сообщений: 1,999
|
Подниму-ка тему, чем новую создавать...
Вопрос, собственно, к VVA как к создателю. Пользуюсь шрифтом mipgost.shx. При простановке диаметра не ставится значок диаметра перед размерным числом. Выводит знак вопроса. С чем это может быть связано? Автокад 2008LT. |
|||
|
||||
инженер-преподаватель ;-) Регистрация: 14.10.2008
Санкт-Петербург
Сообщений: 1,999
|
KSI, http://dwg.ru/dnl/147 Кода там никакого нет, разве что %%c, но эта комбинация как раз и не работает...
|
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
cancercat, А что дает \U+2205?
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
инженер-преподаватель ;-) Регистрация: 14.10.2008
Санкт-Петербург
Сообщений: 1,999
|
Очень странно... Я сейчас тоже попробовал на чистом чертеже - всё выводится. Видимо, дело именно в данном конкретном чертеже. Прикладываю. Диаметр не хочет выводиться даже через редактор Мтекста!
|
|||
|
||||
инженер-преподаватель ;-) Регистрация: 14.10.2008
Санкт-Петербург
Сообщений: 1,999
|
Ещё более странно...
VVA, это комбинация выводит знак вопроса. Попробовал открыть этот же чертёж на соседнем компе. Там тоже 2008LT. И та же самая проблема. Причём, что интересно, если в диспетчере размерных стилей поменять шрифт установленного текстового стиля на ГОСТ тип А (ttf), то "прорисовывается" буква Ш. А если на Times New Roman - выводится знак диаметра! Чудеса какие-то... Приду домой - посмотрю на своём полном Автокаде. |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
cancercat, Попробуй сделать так:
1. Открыть чистый чертеж, где все выводится 2. В этот чертеж вставить глючный как блок с последующим расчлелением
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
инженер-преподаватель ;-) Регистрация: 14.10.2008
Санкт-Петербург
Сообщений: 1,999
|
Продолжаем дальше... В 2008-й и 2010-й полных версиях всё нормально (знак диаметра выводится). Завтра на работе попробую совет VVA. Только вот в чём вопрос - от чего это может быть и как часто проявляться? И как с этим бороться? Вопрос далеко не праздный, потому как я планирую предложить данный шрифт в качестве общепринятого для всей конторы. И, если выяснится, что знак диаметра не ставится достаточно часто, на меня все шишки и посыплются...
|
|||
|
||||
сталкивался, с такой проблемой. Но были у меня другие *.shx шрифты. Мне кажется это баг автокада, а не проблема шрифта.
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) |
||||
|
||||
Регистрация: 25.09.2008
Новосибирск
Сообщений: 218
|
У меня тоже была такая проблема, диаметр отображался вопросом и на "%%c", и на "\u+2205", в ком. строку выводилось "потеря шрифтового стека". Но происходило это только во вновь создаваемых файлах, а после сохранения и перезагрузки автокада проблема исчезала сама собой.
|
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Цитата:
1. Не используются дуги (идет аппроксимация) 2. Шрифт чуть шире за счет расстояния между буквами (на 1/14 высоты шрифта) 3. Написание букв идет с небольшим смещением по X. (В редакторе текста курсор не на букве, а перед ней) Ссылка на шрифт приведена в #132 Я обновил последнее состояние (на 13.11.2009) В общем этот шрифт пока находится на тестировании (в свете большой загрузки на работе просто пока заброшен )
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
инженер-преподаватель ;-) Регистрация: 14.10.2008
Санкт-Петербург
Сообщений: 1,999
|
VVA, новый шрифт скачал, сейчас попробую.
Сегодня попробовал открыть приложенный файл на работе в той же версии Автокада, что и вчера (2008 LT). Диаметр прекрасно ставится. Самое что интересное, я открывал дома в полных версиях, но не сохранял файл. Видимо, это глюк Автокада, причём проблема, и правда, снимается перезагрузкой системы (не Автокада, я вчера пробовал, а систему не перегружал). |
|||
|
||||
Регистрация: 26.01.2010
Сообщений: 3
|
Аналогичная проблема. Диаметр в шрифте mipgost в половине файлов отражается в виде знака "?". Пока получается добиться правильного отражения переброской всего чертежа через буфер обмена в чистый файл. После некоторого количества открытий и в этом файле знак диаметра заменяется на "?".
|
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
cancercat, Reltsid, А другие знаки (плюс-минус, градус) как себя ведут?
В качестве предположения: Раньше (до юникода) стандартным символам (диаметр, градус, плюс-минус) присваивались имена. Т.е в шрифте это выглядело так: Цитата:
Попробуйте удалить эти строки из shp файла и перекомпилировать наново.
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
почитай п.2 из #145. При печати букв высотой 2, 2.5, 3 мм с наклоном буквы сливались. Поэтому решил сделать чуть шире. Вернуть ширину назад дело пары секунд (поиском и заменой).
Команда Автокада _COMPILE
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Инженер-проектировщик Регистрация: 22.03.2009
Киев
Сообщений: 5
|
Да, похоже проблема со знаком диаметра у многих при использовании определённых шрифтов. Перечитал кучу тем, но решение данной проблемы мало где увидел. Использую ACAD2008, проблемный шрифт - WWCAD (вместо знака диаметра буква Ш появляется).
Найденные решения: 1. У некоторых, в том числе у меня, знак диаметра начинал работать как надо после "взрыва" всех таблиц, выполнения комманды Purge, сохранения и повторного открытия файла dwg. Но выполнять нужно данные действия для каждого файла с таблицами. 2. Второй способ, который мне также помог, заключается в правке файла шрифта *.shx . Как уже заметили, при комбинации %%С или \U+2205 вместо знака диаметра появлялся символ с кодом 00D8 (десятиричный код - 216). У меня это код соответствовал букве "Ш", которая дублируется по коду 0428. В итоге, с помощью SHXViewer'а сохранил файл SHX в формат SHP и в текстовом редакторе заменил описание символа с кодом *216 на описание символа *02205. Откомпилировал в Автокаде и вложил откомпилированный файл SHX в папку со шрифтами. Перезапустил Автокад. Знак диаметра вернулся, буква Ш не пострадала. PS Прошу поправить меня, если я в чём-то не прав, так как со шрифтами возился первый раз. Последний раз редактировалось Kostikus, 02.02.2010 в 15:27. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,853
|
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Цитата:
В общем ко всем, задававшим здесь вопросы про знак ? вместо диаметра просьба проверить мое предположение. В архиве шрифты с добавленным по адресу 0D8 знаком диаметра PS Сомнения подтвердились. Описание символа диаметра должно быть в 2-х местах. По адресу \U+00D8 и \U+2205
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 10.12.2013 в 13:42. |
|||
|
||||
Инженер-проектировщик Регистрация: 22.03.2009
Киев
Сообщений: 5
|
|
|||
|
||||
У меня в 2009-м текст данного шрифта в одних объектах прилипает к полочке выноски (т.е. лежит непосредственно на ней), а в др - нет. Со знаками плюс/минус и диаметра проблем нет.
На скрине два объекта мультивыноски, имеющие один и тот же стиль, но на одном видим, что текст отступает от полки, а на др. - нет.... Открытие и закрытие файла, аудит и регенерация не помогает.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: Последний раз редактировалось Кулик Алексей aka kpblc, 05.02.2010 в 16:21. |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,853
|
Скорее всего, в одной строке используются символы, внизу которых "дуги", а во второй - нет. Вопрос на форуме поднимался, но точного названия темы я не помню
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
какие ещё "дуги"?
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Цитата:
Эти Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
saa, Обновил #160
Сомнения (см. #160) по поводу адреса подтвердились. Описание символа диаметра должно быть в 2-х местах. По адресу 00D8 и 2205. После добавления описания диаметра по адресу 00D8 знаки вопроса исчезли во всех "глючных" чертежах.
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
wetr, Символы были переработаны раньше. В английской l пропустил дугу. Ее и подправил
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Вариант - mipgost-new. Тестируй
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Цитата:
Т.о. проблема с "залипанием" букв к выноске у меня осталась. Файл прилагается ниже. |
||||
|
||||
оно не пропадает. просто текст поднимается выше на высоту "хвостика" буквы "у".
В случае использования курсива, символ \U+E72F (обозначение катета) вместо прямоугольника более похож на равнобедренный треугольник (с проблемой обратились пользователи). Чтобы в наклонном варианте шрифта получить нужный вид, добавил в файл исходников (MipGost.shp) такую запись: Код:
сижу разбираюсь с символом "s", из-за которого текст залипает к полке выноски.... Последний раз редактировалось hwd, 18.03.2010 в 17:02. |
||||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
буква s прилипакт к выноске из-за оставшихся дуг в ее описании ( в низу). По поводу катета шва нужно будет подумать. Спасибо за решение, может быть им воспользуюсь. В любом случае уезжаю в командировку. Скорее всего решение будет к середине следующей недели.
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Не понял. Что за "оставшиеся" дуги? На всякий случай прорисовал геометрию буквы в автокаде (по коду описания) - ничего лишнего не вижу... Если попробовать букву приподнять на 2 единицы (думал, может это поможет) - она вовсе исчезает.
п.с. насчет кода символа катета шва - он актуален только при наклоне шрифта в 15 градусов (такой принят у нас) - универсального решения под любой угол наклона не получится. |
||||
|
||||
буквы можно описывать с помощью прямых отрезков, можно с помощью дуг, см. управляющие коды 10-13 здесь. Дуги в нижней части букв липнут к полке. Если описание состоит только из отрезков - все ОК.
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) |
||||
|
||||
Цитата:
Т.е. ты хочешь сказать, что это баг автокадовского shp-парсера и залипать будет любой символ, в основании которого имеется дуга? Так? |
||||
|
||||
Почти любой. Как-то я находил шрифт с дугами который не прилипает. Почему это происходит - не понял. Но большинство символов с дугами - липнет...
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) Последний раз редактировалось wetr, 22.03.2010 в 01:26. |
||||
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
Цитата:
Букву N часто используют вместо № и шрифт romans.shx используют за бугром, а у нас используют шрифт по ГОСТ 2.304 Надо было не менять, а добавлять! Последний раз редактировалось gomer, 21.03.2010 в 23:15. |
|||
|
||||
Исходные данные:
- шрифт MipGost.shx -AutoCAD 2009 SP3 Enu x86 P.S. Когда-то ранее в него (в самом конце) мною был добавлен символ \u+e744, корректно отображающий катет шва (под почти прямым углом) при наклоне шрифта в 15 градусов (изначально предположил, что ниже указанная проблема связана с этим измененим, однако баг присутствует и в версии MipGost-test.shx, который я не изменял). Проблема: Ниже прикреплён файл "Фатал эрор при попытке добавления 5-го символа №.dwg", в котором содержатся несколько текстовых стилей. Один из них построен на базе шрифта MipGost.shx (выложенного мною в архиве). Если используя этот текстовый стиль создать текстовый объект, в котором будет встречаться 4 символа "№" - то всё нормально, однако если в тексте попытатся ввести 5-й символ "№" - автокад вылетает в Fatal Error (на любой машине). В исходниках нашел код, прописывающий данный символ: Цитата:
Последний раз редактировалось hwd, 31.05.2010 в 14:56. |
||||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Добавил к mipgost твой U+E744. Проверил на 2009 RUS SP3 x86. Вылета нет
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Да, эта версия шрифта не вылетает. Спасибо.
п.с. Странно, U+E744 я так же изначально добавлял к вашему шрифту, более ничего не меняя (насколько я помню), однако выложенный мною в архиве файл выдаёт озвученный мною глюк. Ладно, теперь работает и это главное (разбираться с багом некогда). Ещё раз спасибо! п.с.2 если мне не изменяет память - "свою" (глючную) версию MipGost.shx я получил путём модификации MipGost-test.shx с последующим его переименованием в MipGost.shx (возможно в этом какой-то затык и был). Последний раз редактировалось hwd, 31.05.2010 в 15:21. |
||||
|
||||
инженер-преподаватель ;-) Регистрация: 14.10.2008
Санкт-Петербург
Сообщений: 1,999
|
Всем привет! Вопрос, может быть, немного не по теме, но именно эта тема наиболее часто посещаемая, поэтому пишу сюда.
Проблема в вышеуказанном шрифте. Точнее, в его подчёркивании. Если подчёркивается многострочный текст, то под пробелами появляются разрывы. При подчёркивании однострочного текста - всё нормально. Причём если в многострочном тексте взорвать даже одну строку, то она распадается на несколько однострочных примитивов по словам!!! Очень неудобно, да и на чертежах некрасиво выглядит. Файл прилагаю. Кто знает, отчего возникает это проблема и как устраняется? Или для данного шрифта это неизлечимо? Если последнее, подскажите шрифт похожий, уж очень мне здесь начертание букв нравится. И никаких проблем с символами типа диаметра. Я уж не говорю о том, что в этом шрифте есть практически все символы, которые необходимы... |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
cancercat, При угле наклона 0 текст подчеркивается нормально
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
инженер-преподаватель ;-) Регистрация: 14.10.2008
Санкт-Петербург
Сообщений: 1,999
|
VVA, спасибо, что подметили, я раньше не обращал внимания. Однако, проблемы это не снимает, поскольку в чертежах все надписи под наклоном. И что делать со взорванным текстом? У меня таких порядочно, поскольку машина слабая, и очень тормозит Автокад.
В-общем, вопросы поста 187 остаются актуальными... |
|||