Реклама i
Стань нашим партнером - зарабатывай с нами!
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Добавление символов в шрифт

Добавление символов в шрифт

Ответ
Поиск в этой теме
Непрочитано 19.01.2006, 13:18 #1
Добавление символов в шрифт
Александер
 
Регистрация: 15.06.2005
Сообщений: 184

Думаю я не первый кто задумался об этом.
Проблема такая:
использую стандартный шрифт автокада ROMANS всем устраивает, вот только не хватает нескольких символов, № например и прочие, как их можно добавить в стандартный шрифт ROMANC.
Просмотров: 74424
 
Непрочитано 19.01.2006, 13:27
#2
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 470


Привет!

Если речь идет о шрифте *.shx, то нужно просто добавить
соответствующие символы в *.shp и перекомпилировать его.

На самом деле это не очень сложно.

Маленькая проблема в другом - на машинах, где установлена
старая версия шрифта, эти символы будут отображаться
"знаками вопроса".
__________________
Счастливо, Алексей!
===AAA=== на форуме  
 
Непрочитано 19.01.2006, 13:37
#3
Alan

CAD
 
Регистрация: 28.08.2003
Киев
Сообщений: 1,835
<phrase 1=


Александер, почитайте для начала хотя бы здесь.
http://www.autocad.ru/cgi-bin/f1/boa...20060119100030
>===AAA===
ИМХО Когда у нас возник такой вопрос, мы добавили к стандартному имени файла шрифта индекс, не портя оригинальный шрифт и чтоб не путать.
(В нашем случае 14, т.к. переходили от Акада версии 12 к 14).
Alan вне форума  
 
Непрочитано 19.01.2006, 13:37
#4
crazydron


 
Регистрация: 30.08.2005
Ставрополь
Сообщений: 75
<phrase 1=


Оппа. У меня это сейчас является насущной проблемой. Все символы отображаются знаками вопроса. Единственное, что я научился делать, так это добавлять знак диаметра. Я вместо самого знака пишу %%c С остальными символами проблема, приходится каждый раз редактировать их при отправке на печать.
crazydron вне форума  
 
Непрочитано 19.01.2006, 14:23
#5
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 470


Алан, а мы пошли по другому пути - централизованно заменили
файл шрифта на всех компьютерах института (более 500 ПК).
Поблем внутри института никаких нет, а за пределы мы *.dwg
файлы не отдаем (на то существует внутренний приказ) - только
*.pdf. Так что и с "внешниками" проблем нет. :-)
__________________
Счастливо, Алексей!
===AAA=== на форуме  
 
Непрочитано 19.01.2006, 14:28
#6
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 470


To crazydron

Чисто на всякий случай - есть еще %%p (знак "плюс-минус")
и %%d (знак "градус").
__________________
Счастливо, Алексей!
===AAA=== на форуме  
 
Непрочитано 19.01.2006, 14:36
#7
VVA

Инженер 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.
VVA вне форума  
 
Непрочитано 19.01.2006, 17:39
#8
KSI


 
Регистрация: 19.03.2004
Калининград
Сообщений: 1,842


В принципе добавить несколько символов несложно. Я уже это проделывал с txt и Monotxt. Добавил символы №, Ё, ё. В выходные попробую посидеть с остальными шрифтами из стандартной поставки.
KSI вне форума  
 
Непрочитано 19.01.2006, 19:00
#9
Залётный


 
Регистрация: 15.04.2005
Сообщений: 243


Цитата:
Сообщение от VVA
К предыдущим постам могу добавить, что здесь
http://dwg.ru/dwl/187
лежит mipgost.shx, там же есть просмотрщик shx файлов (по моему он может и конвертировать в shp), если нет, то здесь
http://www.cad.dp.ua/program1.php#part1
конверторы. Находишь знак № (есть в том же mipgost) и см. пост N2 с учетом N3.
Для конвертирования в SHP
Поищи на своём компьютере dumpshx.exe в директории Express.
Компиляция в SHX команда compile.

Уникодовский код для номера:

*02116,13,numero sign
007,004E,
8,(-4,0),
007,00BA,
8,(-3,0),0
Залётный вне форума  
 
Непрочитано 19.01.2006, 19:10
#10
Залётный


 
Регистрация: 15.04.2005
Сообщений: 243


Цитата:
Сообщение от ===AAA===
Алан, а мы пошли по другому пути - централизованно заменили
файл шрифта на всех компьютерах института (более 500 ПК).
Поблем внутри института никаких нет, а за пределы мы *.dwg
файлы не отдаем (на то существует внутренний приказ) - только
*.pdf. Так что и с "внешниками" проблем нет. :-)
Наверное было бы проще положить на сервер и добавить дерикторию в путь поиска. В следующий раз было бы нeобходимо только поменять в одном месте.
Залётный вне форума  
 
Непрочитано 19.01.2006, 21:12
#11
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 470


Привет!

Не все так просто. :-)

Компьютеризация нашего института началась в 1991 году
с машин XT и AT-286 - Кто из вас такие помнит? :-)

Затем была сетка из "толстого" и "тонкого" изернета
на коаксиале. - Ну это-то хоть помните? :-)))

Если помните, то и помните, как работали такие сети
на коаксиале - "неконтакт" в одном из сегментов и
вся сеть встает "раком". Пока найдут причину, пока
устранят... А работать-то надо! Поэтому и ставили
АКАД по принципу "все свое ношу с собой", т.е. по-
максимуму локально.

Сейчас, конечно, многое изменилось - и оптика между
этажами проложена и машины поменялись и (главное!)
мониторы. :-) И часть ссылок из меню на сервер идет...
__________________
Счастливо, Алексей!
===AAA=== на форуме  
 
Автор темы   Непрочитано 20.01.2006, 13:26
#12
Александер


 
Регистрация: 15.06.2005
Сообщений: 184


с файлом шрифта вроде разобрался, а как можно привязать новый символ к какой-нибудь кнопке, или сочетанию кнопок, где это прописывается, если можно поподробнее.
например было бы удобно добавленный символ №
назначить сочетанию "shift+3" на русском раскладе.
как это можно сделать?
Александер вне форума  
 
Автор темы   Непрочитано 20.01.2006, 13:43
#13
Александер


 
Регистрация: 15.06.2005
Сообщений: 184


и еще вопросик, где можно взять описание символов ё Ё "диаметр" "градусы"
Александер вне форума  
 
Непрочитано 20.01.2006, 13:45
#14
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 470


Привет!

Я в свое время (еще под Win-98) менял для
этого раскладку в файле kbdru.kbd.
__________________
Счастливо, Алексей!
===AAA=== на форуме  
 
Непрочитано 20.01.2006, 13:52
#15
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 470


Вдогонку.

Для Win-98 по смещению 17A нужно поставить код B9.
Как для твоей системы - не знаю, может быть так же...
__________________
Счастливо, Алексей!
===AAA=== на форуме  
 
Непрочитано 20.01.2006, 13:58
#16
Alan

CAD
 
Регистрация: 28.08.2003
Киев
Сообщений: 1,835
<phrase 1=


>Александер
Вот чем плохи самопальные шрифты: вначале рисуем символ, затем придумываем к нему код.
У PG в шрифте russ_pg.shx по ссылке, номер - это как раз на русской раскладке Shift+3
"диаметр" "градусы" это в любом шрифте д.б.: %%c %%d
c ёЁ - про неЁ забыли, ну и бог с ней переживЁм.
Alan вне форума  
 
Непрочитано 20.01.2006, 14:03
#17
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 470


Ну здрасьте! :-)

"Угловая белая кнопочка", сразу под ESC.
Стандартные ASCII коды для ёЁ известны - в чем проблема?
__________________
Счастливо, Алексей!
===AAA=== на форуме  
 
Непрочитано 20.01.2006, 14:18
#18
Alan

CAD
 
Регистрация: 28.08.2003
Киев
Сообщений: 1,835
<phrase 1=


ИМХО. В стандартных shx-шрифтах русского Автокада: txt; monotxt; romans; russ буква ёЁ отсутствует.
Alan вне форума  
 
Непрочитано 20.01.2006, 14:22
#19
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 470


Сорри, тогда я просто не понял.

Я имел ввиду, что добавить ёЁ не трудно и при этом
добавление будет "стандартным" :-)
__________________
Счастливо, Алексей!
===AAA=== на форуме  
 
Автор темы   Непрочитано 20.01.2006, 14:25
#20
Александер


 
Регистрация: 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 или нет.
Александер вне форума  
 
Непрочитано 20.01.2006, 14:38
#21
KSI


 
Регистрация: 19.03.2004
Калининград
Сообщений: 1,842


Символ с кодом *033 - это и есть цифра три. В шрифт надо было добавить описание сивола с кодом *02116 (№).
KSI вне форума  
 
Непрочитано 20.01.2006, 14:47
#22
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 470


И, кстати, похоже исходный *.shp не юникодовский.
Оно, конечно, и так сойдет, но ИМХО c прицелом на
АКАД-2006 нужно править сразу еще и юникодовский
файл.
__________________
Счастливо, Алексей!
===AAA=== на форуме  
 
Автор темы   Непрочитано 20.01.2006, 14:47
#23
Александер


 
Регистрация: 15.06.2005
Сообщений: 184


спасибо, с № разобрался. просто добавил его и все, а *033 трогать не надо было.
так значит код *02116 соответствует нажатию shift+3 на рус. раскладе?
выходит что так?
если да, то где можно посмотреть эти коды, я имею ввиду какой кнопке что соответствует, чтобы при необходимости можно было бы заменить что-то ненужное на что-то полезное.
*033 - это 3 на клаве
*034 - это 4 на клаве.
а какой например код соответствует { или } ?
Александер вне форума  
 
Непрочитано 20.01.2006, 15:02
#24
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 470


0007B {
0007D }
__________________
Счастливо, Алексей!
===AAA=== на форуме  
 
Непрочитано 20.01.2006, 15:08
#25
VVA

Инженер 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 пробел.
VVA вне форума  
 
Непрочитано 20.01.2006, 15:32
#26
Залётный


 
Регистрация: 15.04.2005
Сообщений: 243


Цитата:
Сообщение от ===AAA===
Вдогонку.

Для Win-98 по смещению 17A нужно поставить код B9.
Как для твоей системы - не знаю, может быть так же...
9 лет назад так и делал, но сегодня можно сгенерировать свою раскладку инструментом, который даёт Microsoft:
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
Залётный вне форума  
 
Непрочитано 20.01.2006, 15:47
#27
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


Вот нашел в хелпе

Цитата:
AutoLISP provides the ascii and chr functions that handle decimal ASCII codes. The ascii function returns the ASCII decimal value associated with a string, and chr returns the character associated with an ASCII decimal value.

To see your system's characters with their codes in decimal, octal, and hexadecimal form, save the following AutoLISP code to a file named ascii.lsp. Then load the file and enter the new ASCII command at the AutoCAD Command prompt. This command prints the ASCII codes to the screen and to a file called ascii.txt. The C:ASCII function makes use of the BASE function. You may find this conversion utility useful in other applications.

; BASE converts from a decimal integer to a string in another base.
(defun BASE ( bas int / ret yyy zot )
(defun zot ( i1 i2 / xxx )
(if (> (setq xxx (rem i2 i1)) 9)
(chr (+ 55 xxx))
(itoa xxx)
)
)
(setq ret (zot bas int) yyy (/ int bas))
(while (>= yyy bas)
(setq ret (strcat (zot bas yyy) ret))
(setq yyy (/ yyy bas))
)
(strcat (zot bas yyy) ret)
)
(defun C:ASCII ( / chk out ct code dec oct hex )
(initget "Yes")
(setq chk (getkword "\nWriting to ASCII.TXT, continue? <Y>: "))
(if (or (= chk "Yes")(= chk nil)) (progn
(setq out (open "ascii.txt" "w") chk 1 code 0 ct 0)
(princ "\n \n CHAR DEC OCT HEX \n")
(princ "\n \n CHAR DEC OCT HEX \n" out)
(while chk
(setq dec (strcat " " (itoa code))
oct (base 8 code) hex (base 16 code))
(setq dec (substr dec (- (strlen dec) 2) 3))
(if (< (strlen oct) 3)(setq oct (strcat "0" oct)))
(princ (strcat "\n " (chr code) " " dec " "
oct " " hex ) )
(princ (strcat "\n " (chr code) " " dec " "
oct " " hex ) out)
(cond
((= code 255)(setq chk nil))
((= ct 20)
(setq xxx (getstring
"\n \nPress 'X' to eXit or any key to continue: "))
(if (= (strcase xxx) "X")
(setq chk nil)
(progn
(setq ct 0)
(princ "\n \n CHAR DEC OCT HEX \n")
)
)
)
)
(setq ct (1+ ct) code (1+ code))
)
(close out)
(setq out nil)
)
)
(princ)
)
VVA вне форума  
 
Непрочитано 20.01.2006, 16:18
#28
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 470


Залётный, я же и говорю, что я подотстал малость
в этом деле, т.к. сменился круг обязанностей. Так, по
необходимости поддерживаю "по вечерам" старые
наработки - пользователей-то жалко, привыкли они. :-)
__________________
Счастливо, Алексей!
===AAA=== на форуме  
 
Непрочитано 22.01.2006, 06:00
#29
Залётный


 
Регистрация: 15.04.2005
Сообщений: 243


Цитата:
Сообщение от VVA
В лиспе есть ф-ция 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 пробел.
Расположить можно в любом месте и с любым кодом но, полагаю, со временем все придут к единому стандарту. Наверное это будет уникод. В русском языке особые проблемы - Вася пишет слово "Вопрос", а Петя на своем компютере читает "бНОПНЯ".

Ё уникодовский код 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)
Приношу извинение за столь длинное послание, но может кому-нибудь и пригодится.
Залётный вне форума  
 
Непрочитано 14.02.2006, 14:43
#30
===AAA===


 
Регистрация: 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.

Вопрос для тех, кто смог дочитать до конца :-) - какие это коды?
__________________
Счастливо, Алексей!
===AAA=== на форуме  
 
Непрочитано 14.02.2006, 17:04
#31
KSI


 
Регистрация: 19.03.2004
Калининград
Сообщений: 1,842


Все как-то слишком непонятно.
В юникодовской таблице для степеней 2 и 3 зарезервированы позиции с кодом 00B2, 00B3.
Но, если в шрифте степени прописаны под кодами 00BD (189) и 00BE (190), то соответствующие символы и должны отображаться. Вполне воэможно появление знаков вопроса в файлах чертежей, в которых коды знаков степеней старые (253, 254), а в шрифте у вас забит новый код.
KSI вне форума  
 
Непрочитано 14.02.2006, 18:10
#32
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 470


Поясняю. Строка, которая в диалоге редактирования
выглядит, как:

мм%%189 мS

отображается на экране, как:

мм[квадрат] м?

Т.е. вроде бы должно все получаться, хорошо (код
в шрифт вставлен), но не получается... :-(
Способ ввода символа через %% работает, а "прямым
кодом" - нет.

Весь сыр-бор из-за необходимости обеспечить корректное
отображение без переделки в АКАД-2004 с юникодовским
фонтом файлов АСАД-14...АСАД-2002, выполненных с
использованием обычного фонта. Файлы фонтов, разумеется,
называются одинаково.
__________________
Счастливо, Алексей!
===AAA=== на форуме  
 
Непрочитано 14.02.2006, 19:11
#33
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,408
Отправить сообщение для Александр Ривилис с помощью Skype™


00B2 - степень 2
00B3 - степень 3
Александр Ривилис вне форума  
 
Непрочитано 15.02.2006, 05:36
#34
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 470


Привет!

Да в том-то и дело, что сейчас именно так и сделано.

>00B2 - степень 2
>00B3 - степень 3

Точнее, даже так:

================================

*000B2,20, степень 2

*000B3,26, степень 3

... skip ...

*000BD,20, степень 2

*000BE,26, степень 3

================================

При этом способ ввода через %% работает (он работал и раньше),
а способ ALT-ввода с клавиатуры (когда одному символу соответствует
один символ) - нет. А раньше работал!

Бог бы с ним, с этим ALT-вводом, сказали проектировщикам, что так
больше не работает - для _новых_ чертежей будут вводить через
%%, но вот старые открываются со знаком "?", а сие напрягает.

Из-за чего такая штука-то происходить может?
__________________
Счастливо, Алексей!
===AAA=== на форуме  
 
Непрочитано 15.02.2006, 06:04
#35
Залётный


 
Регистрация: 15.04.2005
Сообщений: 243


Цитата:
Сообщение от ===AAA===
Поясняю. Строка, которая в диалоге редактирования
выглядит, как:

мм%%189 мS

отображается на экране, как:

мм[квадрат] м?

Т.е. вроде бы должно все получаться, хорошо (код
в шрифт вставлен), но не получается... :-(
Способ ввода символа через %% работает, а "прямым
кодом" - нет.

Весь сыр-бор из-за необходимости обеспечить корректное
отображение без переделки в АКАД-2004 с юникодовским
фонтом файлов АСАД-14...АСАД-2002, выполненных с
использованием обычного фонта. Файлы фонтов, разумеется,
называются одинаково.

Как отметили:
Цитата:
Сообщение от KSI
Все как-то слишком непонятно.
В юникодовской таблице для степеней 2 и 3 зарезервированы позиции с кодом 00B2, 00B3.
Но, если в шрифте степени прописаны под кодами 00BD (189) и 00BE (190), то соответствующие символы и должны отображаться. Вполне воэможно появление знаков вопроса в файлах чертежей, в которых коды знаков степеней старые (253, 254), а в шрифте у вас забит новый код.
и
Цитата:
Сообщение от Александр Ривилис
00B2 - степень 2
00B3 - степень 3
Для прямого ввода можно сгенерировать свою раскладку. При этом любoй unicod(овский) симвом можно вводить, в дополнение к основным сиволам, напрямую, например в сочетании клавиш Ctrl+Alt+<клавиша> или Ctrl+Alt+Shift+<клавиша>
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.02.2006, 06:25
#36
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 470


Привет!

Можешь подсказать ответ на прямой вопрос?

0. Открываем АКАД-2004.
1. Пишем в рисунке ДТЕКСТом слово "что-нибудь" для затравки.
2. Тыкаем в него мышью, появляется поле редактирования текста,
переводим курсор в его конец, нажимаем ALT и "напрямую" вводим
с клавиатуры два символа [ALT+0189] и [ALT+0190]. В окне видим
"что-нибудь©®". Эти ©® изображены здесь условно, скорее всего,
они отобразятся, как "S" и "s".
3. Закрываем окно. В рисунке видим строку "что-нибудь??".

Вопрос: на какие

*0XXXX,

нужно добавить описание символов в файл *.shp, скомпилировав
который под ACAD-2004, я увижу в чертеже "не вопросы".

Это нужно для совместимости. Новые знаки "степень 2,3" будут
добавляться уже в соответствии со стандартом юникода.

Ну, вроде все по полочкам.
__________________
Счастливо, Алексей!
===AAA=== на форуме  
 
Непрочитано 15.02.2006, 06:48
#37
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 470


На всякий случай - ALT-ввод выполняется _исключительно_ с правой
(цифровой) клавиатуры.
__________________
Счастливо, Алексей!
===AAA=== на форуме  
 
Непрочитано 15.02.2006, 09:26
#38
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


Мне кажется проще будет, если ===AAA=== выложит сюда фрагмент dwg с ??? и сам шрифт.
VVA вне форума  
 
Непрочитано 15.02.2006, 09:28
#39
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 470


Чтобы облегчить жизнь тому, кто решит помочь, прикладываю файл.
Красным - как это должно выглядеть (текст разбит на линии, так
что видите именно то же самое, что и мы).

Черным - как оно выглядит (со знаками вопроса).

russ_old - старый фонт. С ним все классно. Знаков ? нет.
russ - новый фонт. С ним проблемы.

Открывать в АСАД-2004
[ATTACH]1139984899.zip[/ATTACH]
__________________
Счастливо, Алексей!
===AAA=== на форуме  
 
Непрочитано 15.02.2006, 16:26
#40
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


С shx идей пока никаких. Как вариант лисп

Код:
[Выделить все]
(defun ch23 ( / adoc vla txt sstext lays lay lock axss  )
  (setq   adoc (vla-get-activedocument (vlax-get-acad-object))) 
  (setq sstext (ssget "_X" '((0 . "TEXT"))))
  (setq lays (vla-get-layers adoc))
  (setq axss (vla-get-activeselectionset adoc)) 
  (vlax-for vla axss 
   (setq lay (vla-item lays (vla-get-layer vla)))
   (if (= (vla-get-lock lay) :vlax-true)
   (progn (vla-put-lock lay :vlax-false) (setq lock (cons lay lock))))
   (setq txt (vla-get-textstring vla))
   (mapcar
     (function (lambda (kod)
		 (while (VL-STRING-POSITION kod txt)
		   (setq txt (VL-STRING-SUBST (strcat "%%" (itoa kod)) (chr kod) txt)))))
	  (list 189 190))
    (if (and (vlax-read-enabled-p vla) 
             (vlax-write-enabled-p vla))
    (vla-put-TextString vla txt)))
  (if lock (foreach x lock (vla-put-lock x :vlax-true)))
  (princ))
VVA вне форума  
 
Непрочитано 16.02.2006, 05:55
#41
Залётный


 
Регистрация: 15.04.2005
Сообщений: 243


Цитата:
Сообщение от ===AAA===
Чтобы облегчить жизнь тому, кто решит помочь, прикладываю файл.
Красным - как это должно выглядеть (текст разбит на линии, так
что видите именно то же самое, что и мы).

Черным - как оно выглядит (со знаками вопроса).

russ_old - старый фонт. С ним все классно. Знаков ? нет.
russ - новый фонт. С ним проблемы.

Открывать в АСАД-2004
[ATTACH]1139984899.zip[/ATTACH]
Я не вижу в чём проблема. Да, у тебя в файле вопросительные знаки но я не могу их воиспроизвести сам. Когда я ввожу текст в окне редактирования всё работает нормально:
%%178 степень 2
%%179 степень 3

%%189 степень 2 (как я понимаю, это для совместимости со старым шрифтом)
%%190 степень 3 (как я понимаю, это для совместимости со старым шрифтом)

\U+00B2 степень 2
\U+00B3 степень 3

и даже Alt+0178 (0179) (0189) (0190) у меня тоже нормально работают с твоим шрифтом несмотря, что Alt левый.

Мне кажется, что они изображаются немного высоковато и крупновато, но это чисто эстетическое и не влияет на правильность прочтения текста.

В чём проблема? Нормальный фонт.
Залётный вне форума  
 
Непрочитано 16.02.2006, 08:03
#42
===AAA===


 
Регистрация: 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: за ЛИСПих спасибо, но пока еще не угасла
надежда со всеобщей помощью победить фонт. :-)
__________________
Счастливо, Алексей!
===AAA=== на форуме  
 
Непрочитано 16.02.2006, 10:17
#43
Геннадий aka PG

Машиностроение, Проектирование
 
Регистрация: 15.09.2003
Москва
Сообщений: 1,113
<phrase 1=


После добавления чего в шрифт, считаю, будет некорректо сохранять его под тем же именем.
О шрифтах еще глянь тут
http://cadhlp.kulichki.com/pdshx.htm
__________________
С уважением,
Геннадий aka PG
Геннадий aka PG вне форума  
 
Непрочитано 16.02.2006, 10:35
#44
KSI


 
Регистрация: 19.03.2004
Калининград
Сообщений: 1,842


Да, похоже в файлах, выполненна конвертация текста, и теперь единственный способ - программный поиск и замена символов со знаком вопроса на степени. Или определить код этого символа и его описать как спепень в файле шрифта. К сожалению, сейчас не смогу этим заняться.
KSI вне форума  
 
Непрочитано 16.02.2006, 11:13
#45
Chapay


 
Регистрация: 15.08.2005
Сообщений: 35
<phrase 1=


можно ли ввести такую вещь?
например пишу: %%с 12%%n-0.062
и он мне пишет @12 ?
-0.062
в шрифте?
Chapay вне форума  
 
Непрочитано 16.02.2006, 11:32
#46
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 470


Привет!

>Или определить код этого символа и его описать как спепень в файле шрифта.

ВО!!! Это-то я и хочу! :-)))
__________________
Счастливо, Алексей!
===AAA=== на форуме  
 
Непрочитано 16.02.2006, 11:55
#47
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 470


Привет!

>После добавления чего в шрифт, считаю, будет некорректо
>сохранять его под тем же именем.

Отчасти - да, а отчасти - нет. Мое мнение - если в шрифт только
добавляется что-то, то почему бы и нет. Иначе - имен не напасешься. :-)

>О шрифтах еще глянь тут
>http://cadhlp.kulichki.com/pdshx.htm

Глянул. Там все о тех шрифтах, которые в моих постах фигурируют,
как "старые". С ними-то проблем нет. Проблема с новым, юникодовским,
да и то только с двумя символами. Или я не туда гляжу?
__________________
Счастливо, Алексей!
===AAA=== на форуме  
 
Непрочитано 16.02.2006, 13:33
#48
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


Раз переходите на новый шрифт, может проще обработать все файлы и забыть о проблеме, тем более похоже, что она не решается правкой shp.

Код:
[Выделить все]
;;;CADALYST 03/05 Tip2023: PurgeFiles.lsp
;;; [c]2004 Andrzej Gumula, Katowice, Poland
;;; e-mail: [email protected]
;;; This routine purge dwg files from selected folder
(vl-load-com)
(defun layren (/ vla txt sstext lays lay lock axss)
  (setq lays (vla-get-layers File))
  (setq axss (vla-get-activeselectionset File))
  (vla-clear axss)
  (vla-select   axss  acselectionsetall   nil   nil
    (vlax-safearray-fill (vlax-make-safearray vlax-vbinteger '(0 . 0)) '(0))
    (vlax-safearray-fill 
        (vlax-make-safearray vlax-vbvariant '(0 . 0)) '("TEXT")))
  (vlax-for vla axss
    (setq lay (vla-item lays (vla-get-layer vla)))
    (if	(= (vla-get-lock lay) :vlax-true)
      (progn (vla-put-lock lay :vlax-false)(setq lock (cons lay lock))))
    (setq txt (vla-get-textstring vla))
    (mapcar
      (function (lambda	(kod)
       (while (VL-STRING-POSITION kod txt)
          (setq txt (VL-STRING-SUBST
             (strcat "%%" (itoa kod)) (chr kod) txt )))))
      (list 189 190))
    (if	(and (vlax-read-enabled-p vla)
	     (vlax-write-enabled-p vla)
	)
      (vla-put-TextString vla txt)))
  (if lock (foreach x lock (vla-put-lock x :vlax-true))))

(defun c:CH23 (/ FilesList SubDir Files)
  (defun GetFolder (/ Dir Item Path)
    (cond
      ((setq Dir (vlax-invoke
		   (vlax-get-or-create-object "Shell.Application")
		   'browseforfolder
		   0
		   "Выберите папку с DWG файлами:"
		   1
		   ""
		 ))
       (cond
	 ((not
	    (vl-catch-all-error-p
	      (vl-catch-all-apply 'vlax-invoke-method (list Dir 'Items))
	    ))
	  (setq	Item (vlax-invoke-method
		       (vlax-invoke-method Dir 'Items)
		       'Item
		     ))
	  (setq Path (vla-get-path Item))
	  (if
	    (not (member (substr Path (strlen Path) 1) (list "/" "\\")))
	     (setq Path (strcat Path "\\"))
	  )))))
    Path
  );_end GetFolder
  (defun vl-findfile (Location / DirList Path AllPath)
    (MakeDirList Location)
    (setq DirList (cons Location DirList))
    (foreach Elem DirList
      (if (setq Path (vl-directory-files Elem "*.dwg"))
	(foreach Item Path
	  (setq AllPath (cons (strcat Elem "/" Item) AllPath))
	)))
    (reverse AllPath)
  )
  (defun MakeDirList (Arg / TmpList)
    (setq TmpList (cddr (vl-directory-files Arg nil -1)))
    (cond
      (TmpList
       (setq
	 DirList (append
		   DirList
		   (mapcar '(lambda (z) (strcat Arg "/" z)) TmpList)))
       (foreach Item TmpList (MakeDirList (strcat Arg "/" Item))))))
  (if (not FileSystemObject)
    (setq FileSystemObject
	   (vla-getInterfaceObject
	     (vlax-get-acad-object)
	     "Scripting.FileSystemObject" )))
  (cond
    ((= (getvar "SDI") 0)
     (cond
       ((setq DwgPath (GetFolder))
	(initget 1 "Yes No")
	(setq
	  Subdir
	   (cond
	     ((getkword	"\nОбрабатывать поддиректории? [Yes/No]: "
	      ))
	     (T "Yes")))
	(if (equal SubDir "Yes")
	  (setq	Files
		 (vl-findfile (substr DwgPath 1 (1- (strlen DwgPath)))))
	  (setq	Files (mapcar '(lambda (x) (strcat dwgpath x))
			      (vl-directory-files DwgPath "*.dwg" 1))))
	(setq Files (mapcar 'strcase Files))
	(cond
	  (Files
	   (vlax-for & (vla-get-documents (vlax-get-acad-object))
	     (setq FilesList
		    (cons (strcase (vla-get-fullname &)) FilesList)))
	   (foreach & Files
	     (cond
	       ((not (member & FilesList))
		(cond
		  ((/= (logand (vlax-get-property
				 (vlax-invoke-method
				   FileSystemObject
				   'getfile
				   &
				 )
				 'Attributes )
			       1)
		       1)
		   (cond
		     ((setq File (vla-open (vla-get-documents
					     (vlax-get-acad-object))
					   &))
		      (prompt
			(strcat "\nЗамена текста " & ". Подождите..."))
;;;             (vla-purgeall File)
		      (layren)
		      (prompt (strcat "  Save and close " &))
		      (vla-save File)
		      (vla-close File)
		      (vlax-release-object File))
		     (T
		      (prompt
			(strcat  "\nНевозможно открыть "  &
			  "\nDrawing file was created by an incompatible version. "
			)))))
		  (T
		   (prompt (strcat & " is read-only. Замена отменена. ")))))
	       (T (prompt (strcat & " is open now. Замена отменена. "))))))
	  (T (prompt "\nNothing files found to purge. "))))
       (T (prompt "\nNothing selected. "))))
    (T (prompt "\nThe routine is not available in SDI mode. ")))
  (princ))
(prompt "\n===   Команда загружена. Наберите CH23  ===")
(princ)
VVA вне форума  
 
Непрочитано 16.02.2006, 14:34
#49
Геннадий aka PG

Машиностроение, Проектирование
 
Регистрация: 15.09.2003
Москва
Сообщений: 1,113
<phrase 1=


Цитата:
Сообщение от ===AAA===
>После добавления чего в шрифт, считаю, будет некорректо
>сохранять его под тем же именем.

Отчасти - да, а отчасти - нет. Мое мнение - если в шрифт только
добавляется что-то, то почему бы и нет. Иначе - имен не напасешься. :-)?
Иначе может путаница быть серьезная, сам понимаешь.
Цитата:
Сообщение от ===AAA===
>О шрифтах еще глянь тут
>http://cadhlp.kulichki.com/pdshx.htm
Глянул. Там все о тех шрифтах, которые в моих постах фигурируют,
как "старые". С ними-то проблем нет. Проблема с новым, юникодовским,
да и то только с двумя символами. Или я не туда гляжу?
Туда все правильно с новыми сложнее и вводить надо как "/U+...." Да и сами символы распределены по непонятной системе, я так и не въехал, на это влияет еще и кодовая страница компа
Коды символов можно еще посмотреть через таблицу символов виндов.
__________________
С уважением,
Геннадий aka PG
Геннадий aka PG вне форума  
 
Непрочитано 16.02.2006, 14:47
#50
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 470


Всем привет!

Большое спасибо народу за отзывчивость, но проблема
все-таки имеет решение. Вот оно:

*00405,20, степень 2

*00455,26, степень 3

Всем творческих успехов!
__________________
Счастливо, Алексей!
===AAA=== на форуме  
 
Непрочитано 09.07.2008, 09:20 Добавление символа в шрифт .shx
#51
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Пытаюсь добавить достаточно много символов в шрифт romans.shx но почему-то не хочет добавлять...
Сама форма символа сделана правильно. Создавал отдельный шейп с номером 1 - компилируется. Пытаюсь тоже самое создать с номером 412 (10dec) - 019C (16hex) - не хочет создавать - пишет что "Длина описания больше указанной в заголовке"
В чем проблема?
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 09.07.2008, 09:29
#52
Солидворкер
Moderator

Конструктор (машиностроение)
 
Регистрация: 23.10.2006
Россия
Сообщений: 22,998
<phrase 1=


#51 перенес из другой темы
Солидворкер вне форума  
 
Непрочитано 09.07.2008, 09:51
#53
KSI


 
Регистрация: 19.03.2004
Калининград
Сообщений: 1,842


>Shoorup,
Приведи описание символа.
KSI вне форума  
 
Непрочитано 09.07.2008, 09:56
#54
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


В добавок к проблемме не отображается субформа.
Задача такая:Нужно описать все римские цифры в шрифт 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
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 09.07.2008, 11:26
#55
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Пробовал ставить этоже описание в другие места - тотже эффект
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 09.07.2008, 12:25
#56
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,980
Отправить сообщение для Red Nova с помощью Skype™


Не совсем уверен, что то, но есть мнение что дело вот в чем.
В shp файле, в начале задаются параметры габарита символов.
Вот отсюда http://cadhlp.kulichki.com/pdshx.htm
Цитата:
В шрифт необходимо включить форму номер 0, которая имеет значение внутреннего размера шрифта. Она выглядит так:

*0,4,<имя шрифта>
H, U, Признак, 0
Тут H - высота надстрочной части букв, U - высота подстрочной части букв.

Возможно у тебя буквы сделаны в другом масштабе, и не помещаются в установленные габариты.

А если не то, то выложи shp файл, и нарисованную букву которую надо туда вклинить (dwg, желательно сделанную в соответствии с габаритами шрифта)
__________________
Блог
Red Nova вне форума  
 
Непрочитано 09.07.2008, 12:43
#57
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Да, дело в заголовке.
*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 - повидиму это и дает ошибку
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 09.07.2008, 14:17
#58
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Не могу сообразить как вывести суб форму... почему
7,032,0 - не работает даже если просто ввести
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 09.07.2008, 14:34
#59
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,980
Отправить сообщение для Red Nova с помощью Skype™


По #57
Пока файлы не выложишь не пойму конкретно где прокол.

По #58
Что такое суб форма? Сообщение не понял вообще.
__________________
Блог
Red Nova вне форума  
 
Непрочитано 09.07.2008, 15:11
#60
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


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
но не хочет принимать подчеркнутое.
Вопрос: как правильно выводить суб форму?

Цитата:
Код 7 производит построение субформы, номер которой определяется следующим байтом.
Что я делаю не так?
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 09.07.2008, 15:32
#61
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Если в загаловке шрифта поставить не 21,7 а например 128,128 то компилится, но получается херь какаето всеравно
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 09.07.2008, 15:33
#62
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,980
Отправить сообщение для Red Nova с помощью Skype™


Когда я делал шрифт, у меня в коде не было букв, писал по только цифрами. Знаю что буквами можно писать Шестнадцатеричный Код, но больше ничего про буквы в коде не знаю. Вот и хочу увидеть букву (которую надо изобразить) в формате dwg, чтобы понять как ее написать пользуясь моими познаниями. Конкретно на твой вопрос
Цитата:
Что я делаю не так?
ответить не могу, потому как я делал все несколько по другому. Но могу попробовать сделать самому.
__________________
Блог

Последний раз редактировалось Red Nova, 09.07.2008 в 15:42.
Red Nova вне форума  
 
Непрочитано 09.07.2008, 15:38
#63
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,853


Я не уверен, но, может http://cadhlp.kulichki.com/pdshx.htm подскажет решение?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 09.07.2008, 15:48
#64
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Кулик Алексей aka kpblc, там вообще нет упоминаний про код 7.
Red Nova, попробуй нарисовать любую букву, символ или возьми
это 0E0,2,0F4,064,1,0E8,2,070,1,8,(0,-21),0 это и есть символ за которым долна следовать цифра (любая). Но задача лежит через код 7. просто копировать цифру не хочу - долго и много делать надо.
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 09.07.2008, 17:09
#65
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,980
Отправить сообщение для Red Nova с помощью Skype™


Аа, теперь нашел субформу. Это ссылка на другой символ из этого файла. Я тоже не пойму как ее корректно вписать. Все пишет
Цитата:
Shape exceeds specified length
Надо бы поковыряться в существующих shx файлах, может и найдется пример правильной записи кода 7.
__________________
Блог
Red Nova вне форума  
 
Непрочитано 09.07.2008, 17:30
#66
KSI


 
Регистрация: 19.03.2004
Калининград
Сообщений: 1,842


Вот нашел в описании шрифта romans:
*178,42,SUPERSCRIPT TWO
2,14,3,4,14,8,(-2,-63),14,4,4,5,3,4,8,(2,63),4,4,3,2,7,032,4,2,6,2,8,(11,0),14,3,4,14,8,(-42,-15),14,4,4,0
Обратите внимание, символов - 41, а в заголовке 42.
KSI вне форума  
 
Непрочитано 09.07.2008, 17:32
#67
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Опередил на пару сек))))
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 09.07.2008, 17:34
#68
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


А вот выдержка из справки
Цитата:
*00080,4,keuroRef
7,020AC,0
Второе поле в заголовке показывает, сколько байт занимает данное описание. Тем, кто ранее не работал со шрифтами Unicode, может показаться, в этом случае длина должна равняться 3 байтам, а не 4, но если изменить таким образом значение длины, возникнет ошибка компиляции SHP-файла. Даже если номер формы, на которую выполняется ссылка, занимает всего один байт (т.е. меньше или равен 255), компилятор всегда отводит под данное поле 2 байта, так что это необходимо учесть в заголовке.
А вот мой символ:
*019C,22,I2
0E0,2,0F4,064,1,0E8,2,070,1,8,(0,-21),2,090,3,2,7,0032,4,2,0
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 09.07.2008, 17:39
#69
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,980
Отправить сообщение для Red Nova с помощью Skype™


Я самый последний нашел, хотел осчастливить, но вон вас уже скока счастливых.
__________________
Блог

Последний раз редактировалось Red Nova, 09.07.2008 в 17:44.
Red Nova вне форума  
 
Непрочитано 09.07.2008, 17:59
#70
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Спасибо,KSI и Red Nova за помощь!
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 11.07.2008, 11:45
#71
KSI


 
Регистрация: 19.03.2004
Калининград
Сообщений: 1,842


Александер,
Добавить символ очень просто. SHX декомпилируешь в SHP. Добавляешь описание нужного символа, и обратно в SHX.
Почитай http://cadhlp.kulichki.com/pdshx.htm
KSI вне форума  
 
Непрочитано 11.07.2008, 20:57
#72
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,980
Отправить сообщение для Red Nova с помощью Skype™


KSI,
Все то, да только сообщению от Александер более двух лет.
__________________
Блог
Red Nova вне форума  
 
Непрочитано 11.07.2008, 22:50
#73
KSI


 
Регистрация: 19.03.2004
Калининград
Сообщений: 1,842


>Red Nova,
Блин! Не обратил внимание, что первое сообщение на странице - первое сообщение в теме.
KSI вне форума  
 
Непрочитано 13.07.2008, 18:25
#74
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Цитата:
Сообщение от KSI Посмотреть сообщение
Александер,
Добавить символ очень просто. SHX декомпилируешь в SHP. Добавляешь описание нужного символа, и обратно в SHX.
Почитай http://cadhlp.kulichki.com/pdshx.htm
Любят смотрю все давать эту ссылку Мне честно говоря эта статья ничего нового не открыла. Не все моменты открыты. Достаточно хорошо написана справка, но ее надо всю прочитать вдоль и поперек.
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 02.08.2008, 12:34
#75
zeich


 
Регистрация: 02.08.2008
Сообщений: 2


как декомпилировать файл,не получается

как декомпелировать ?

Последний раз редактировалось Кулик Алексей aka kpblc, 02.08.2008 в 22:15.
zeich вне форума  
 
Непрочитано 02.08.2008, 15:48
#76
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


zeich, А зачем 2 раза писать. Тебя точно забанят за неуважение к форуму.
По делу:
Для декомпилирования шрифта .shx есть специальные программы. Например shx2shp или SHXViewer. Сразу предупреждаю - не пиши где взять. Попробуй сам поискать в инете или на этом сайте в downloadе.
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 02.08.2008, 17:35
#77
zeich


 
Регистрация: 02.08.2008
Сообщений: 2


скачал,декомпелировал,в автокад как засунуть?чтоб отредактировать,и как обратно пихнуть?
zeich вне форума  
 
Непрочитано 02.08.2008, 19:56
#78
Andgy

конструктор
 
Регистрация: 21.03.2007
Одесса
Сообщений: 13
<phrase 1=


Не знаю или я правильно поняла задачу, но мне в свое время очень помогли ключи текстовых символов
Вложения
Тип файла: doc Ключи текстовых символов в Автокаде.doc (238.0 Кб, 234 просмотров)
Andgy вне форума  
 
Непрочитано 04.08.2008, 10:51
#79
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


zeich, если очень большие проблемы с русским языком, попробуй писать сообщения в Wordе, а после вставлять проверенный текст в сообщение.
По делу:
Не очень понимаю какая стоит задача... Расскажи подробно что необходимо тебе сделать. Если тебе нужно исправить шрифт - добавив символ или отредактировать его, то попробуй почитать справку пункт: "Руководство по адаптации - Формы и шрифты". Если что-то получаться не будет - пиши. Первое чему там нужно научиться это компилировать формы.
Andgy, не вижу смысла в этих ключах. Лично я себе сделал памятку в виде наиболее мною употребляемых символов и их вызов. А если нужен какой то другой символ, то через SHXViewer можно найти и посмотреть его код.
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 16.11.2008, 18:32
#80
autocader


 
Регистрация: 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 "

ЧТО ДЕЛАТЬ??? ПОДСКАЖИТЕ, ПЛИЗ!
autocader вне форума  
 
Непрочитано 16.11.2008, 19:01
#81
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


1. Набери в редакторе многострочного текста S11^.
2. Выдели символы 11^
3. На панели станет черной кнопка a/b. Жми ее
4. Смотри результат
Миниатюры
Нажмите на изображение для увеличения
Название: S11E.jpg
Просмотров: 185
Размер:	40.7 Кб
ID:	12284  Нажмите на изображение для увеличения
Название: S11.jpg
Просмотров: 158
Размер:	15.4 Кб
ID:	12285  
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 17.11.2008, 11:49
#82
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Цитата:
Сообщение от autocader Посмотреть сообщение
...надо написать верхним или нижним индексом шрифтом Times New Roman в многострочном тексте в AutoCAD 2005...
Про это написал VVA.
Единственное добавлю: то, что ты пытался сделать через справку, решение для однострочного текста и для векторного шрифта AutoCAD.
В многострочном этого делать не нужно.
Если хочется сделать и для однострочного эти 4 формы, скидывай файл.
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 17.11.2008, 17:28
#83
autocader


 
Регистрация: 16.11.2008
Сообщений: 67


смысл ясен, спасиб)) а как для нижнего индекса это будет выглядеть?

тока вот не задача: в поле индекса у меня должны быть буквы, причём русские. при нажатии кнопочки a/b выделенный кусок превращается в вопросики((((

а при латинице - всё нормально.
autocader вне форума  
 
Непрочитано 17.11.2008, 17:47
#84
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


Цитата:
Сообщение от autocader Посмотреть сообщение
смысл ясен, спасиб)) а как для нижнего индекса это будет выглядеть?
А подумать?
Цитата:
тока вот не задача: в поле индекса у меня должны быть буквы, причём русские. при нажатии кнопочки a/b выделенный кусок превращается в вопросики((((
а при латинице - всё нормально.
По моему, этот глюк устранен только начиная с 2006 Автокада
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 17.11.2008, 18:00
#85
autocader


 
Регистрация: 16.11.2008
Сообщений: 67


Цитата:
Сообщение от VVA Посмотреть сообщение
А подумать?
ааа, догадался! )))

Цитата:
Сообщение от VVA Посмотреть сообщение
По моему, этот глюк устранен только начиная с 2006 Автокада
жаль((( а есть другие пути решения этой проблеммы при условии использования данного шрифта?
autocader вне форума  
 
Непрочитано 17.11.2008, 18:13
#86
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


По крайней мере я их не знаю Да и знать уже не хочу, т.к. 2005 Авткад начал уже забывать
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 19.11.2008, 05:39
#87
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,535
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Подниму темку.
Пригодился мне тут шрифт gostw.shx. Шрифт старый не ЮНИКОДовский.
Там нет %%c
%%d
%%p
Читаю справку
Цитата:
В обычных (не
Unicode) шрифтах номера 256, 257 и 258 предназначены для хранения символов градуса, плюса-минуса и диаметра.
Добавляю символы диаметр, градус, плюс/минус.
Код:
[Выделить все]
*256,16
2,8,(10,80),1,10,15,-044,10,15,-004,2,8,(40,-80),0

*257,27
2,0F2,1,8,(40,0),2,8,(-40,45),1,8,(40,0),2,8,(-20,20),1,8,(0,-40),2,8,(35,-40),0

*258,24
2,8,(25,5),1,8,(30,90),2,8,(-45,-45),1,10,30,-044,10,30,-004,2,8,(100,-50),0
Код взял из шрифта из шрифта PG, по известной ссылке.
Ну а теперь при записи %%c в шрифте, отображается буква Ш. При этом в свойствах отображается значек диаметра.
В SHX Viewer тоже все нормально видно.
Никто не знает в чем дело?
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)

Последний раз редактировалось wetr, 19.11.2008 в 06:11.
wetr вне форума  
 
Непрочитано 19.11.2008, 06:26
#88
ShaggyDoc

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 он может ссылаться на разный физический адрес описания символа. Не исключаю, что в каких-то национальных языках диаметр обозначается каким-нибудь иероглифом.
ShaggyDoc вне форума  
 
Непрочитано 19.11.2008, 07:03
#89
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,535
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Насколько я понял, код U+2205 для диаметра применяется только в Юникод-шрифтах. Здесь вроде, не юникод (могу ошибаться - знания поверхностные).
Цитата:
В обычных (не Unicode) шрифтах номера 256, 257 и 258 предназначены для хранения символов
градуса, плюса-минуса и диаметра. В шрифтах Unicode эти символы имеют коды
соответственно U+00B0, U+00B1 и U+2205 и являются частью набора “Расширенная
латиница-А”.
p.s. ShaggyDoc, не дадите потестировать ваш шрифт?
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)

Последний раз редактировалось wetr, 19.11.2008 в 07:23.
wetr вне форума  
 
Непрочитано 19.11.2008, 08:17
#90
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381


Потестируйте. Только это черновой вариант.

24.11.2008
Заменен прилагаемый файл
Вложения
Тип файла: zip rucad_SPDS.zip (7.3 Кб, 168 просмотров)

Последний раз редактировалось ShaggyDoc, 24.11.2008 в 08:01. Причина: Заменен файл шрифта
ShaggyDoc вне форума  
 
Непрочитано 19.11.2008, 10:16
#91
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,535
<phrase 1= Отправить сообщение для wetr с помощью Skype™


У вас заглавные буквы Б В пишутся нормально. Интересно, а в чем секрет? Может раскроете?
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 20.11.2008, 16:40
#92
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


А какой там может быть секрет?
Вот выкопировка из этого шрифта
Цитата:
*Degree_Sign,14,kdeg
2,8,(-2,14),1,10,(2,040),2,8,(8,-14),010,0
*Plus_Or_Minus_Sign,30,kpls-min
2,8,(0,7),1,8,(6,0),2,8,(-3,3),1,8,(0,-6),2,8,(-3,-2),1,8,(6,0),2,8,(4,-2),010,0
*Diameter_Symbol,28,kdiam
2,8,(2,0),1,8,(4,14),2,8,(2,-7),1,13,(-8,0,127),(8,0,127),(0,0),2,8,(4,-7),010,0
*02116,31,nomer
1,0E4,8,(7,-14),0E4,3,10,5,2,8,(20,-15),4,10,1,12,(3,0,-127),03C,12,(-3,0,-127),034,6,2,080,0EC,010,0
*02205,28,kdiam
2,8,(2,0),1,8,(4,14),2,8,(2,-7),1,13,(-8,0,127),(8,0,127),(0,0),2,8,(4,-7),010,0
*0411,25,upper_case_russian_b
9,(0,14),(6,0),(0,0),2,8,(-6,-6),1,040,10,(3,-022),02C,10,(3,-002),048,2,0A0,010,0
*0412,28,upper_case_russian_v
1,8,(0,14),8,(4,0),10,(2,-022),02C,10,(2,-002),048,040,10,(3,-022),02C,10,(3,-002),048,2,0A0,010,0
Красным выдедил подтверждение поста #88
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 24.11.2008, 07:25
#93
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,535
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Ребята, у меня не юникодовский шрифт. Код 2205 мне не подходит. Я хочу понять почему у меня не работают знаки: градус, диаметр, плюс/минус, если я их ставлю на их законные места... SHX Viewer показывает все нормально...Почему автокад не хочет показывать. Больше того, в шрифте уважаемого Поспелова Геннадия, тоже не видно этих знаков, только "н", "ш", "с". На приложенном файле его шрифт внизу справа.


VVA, твой шрифт отличный, но у него есть 1 минус: плохо себя ведет с мультилидерами. Из моих опытов выходит, что нормально с мультилидерами работают шрифты сделанные только прямыми (без дуг). Исключение - все тот же шрифт gostb_pg от Геннадия.
Теперь хочу использовать отдельный шрифт для мультилидера, mipGost для всего остального. Вот отдельный шрифт как раз и нужен максимально похожий на mipGost, только без дуг. Под это определение подходит больше всех gostw.shx
Вложения
Тип файла: pdf ML Layout1 (1).pdf (99.7 Кб, 162 просмотров)
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 24.11.2008, 08:07
#94
ShaggyDoc

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. Все клавиатурные символы размещены на штатных местах.

Вариант ещё не окончательный, требует дополнительного тестирования и документирования.
ShaggyDoc вне форума  
 
Непрочитано 24.11.2008, 08:54
#95
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,535
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Загадка прилипания круглого текста разгадана. Все дело в способе написания самих букв. Если в шрифте буквы начинаются с 0 по оси y, то буквы с дугами будут прилипать. Наверно непонятно объяснил, приложу скрин из viewer_a, как надо делать буквы
Миниатюры
Нажмите на изображение для увеличения
Название: Capture.jpg
Просмотров: 234
Размер:	94.5 Кб
ID:	12563  
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 24.11.2008, 09:26
#96
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,535
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Почему в мтексте \U+2205 отображается как Ш??? В любом *.shx шрифте?
*Добавлено.
Шайтан какой-то. Сейчас отображается...
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)

Последний раз редактировалось wetr, 24.11.2008 в 09:44.
wetr вне форума  
 
Непрочитано 27.11.2008, 21:21
#97
KSI


 
Регистрация: 19.03.2004
Калининград
Сообщений: 1,842


wetr, ты бы хоть версию Акада озвучил.
И внимательно прочитай последний абзац поста 88
KSI вне форума  
 
Непрочитано 28.11.2008, 02:43
#98
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,535
<phrase 1= Отправить сообщение для wetr с помощью Skype™


KSI, AutoCAD 2009 sp3.
Цитата:
И внимательно прочитай последний абзац поста 88
Читаю:
Цитата:
%%c - это "псевдоним" диаметра. В разных версиях AutoCAD он может ссылаться на разный физический адрес описания символа. Не исключаю, что в каких-то национальных языках диаметр обозначается каким-нибудь иероглифом.
Включаю мозги
...Получается все может зависеть от версии када. Надо дома попробовать.
И нужно запихать описание символа в разные места(какие?...), так, чтобы в любой версии отображалось все корректно. Хотя справка моего када говорит тоже самое что и раньше
Цитата:
shapenumber
A number, unique to the file, between 1 and 258 (and up to 32768 for Unicode fonts), and preceded by an asterisk (*). Non-Unicode font files use the shape numbers 256, 257, and 258 for the symbolic identifiers Degree_Sign, Plus_Or_Minus_Sign, and Diameter_Symbol. For Unicode fonts these glyphs appear at the U+00B0, U+00B1, and U+2205 shape numbers and are part of the “Latin Extended-A” subset.

Text fonts (files containing shape definitions for each character) require specific numbers corresponding to the value of each character in the ASCII code; other shapes can be assigned any numbers.
Типа законное место диаметра 258. И все тут. Шрифт вроде русский. Не знаю, где еще могут быть подводные камни.
Я понимаю, что в этом шрифте все символы стоят наперекосяк, не на своих местах, но проблема не в этом(при желании можно все расставить все на свои места) - проблема в том, что диаметр стоит на своем месте, согласно справке, но не отображается в автокаде. Как это победить? Кто-нибудь знает?
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 28.11.2008, 06:37
#99
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381


Цитата:
Я понимаю, что в этом шрифте все символы стоят наперекосяк
В каком именно "этом"? Чтобы убедиться, надо посмотреть.
Цитата:
Типа законное место диаметра 258. И все тут.
Не все тут. И не "законное" это место. Я не зря писал про "псевдоним" %%c. Видимо AutoCAD, прочитав характеристику шрифта, ищет правильный адрес символа для такого типа шрифта. Т.е. если шрифт объявлен Unicode, отображать будет U+2205.

В штатных шрифтах для ранних версий AutoCAD диаметр был на 258 месте. Псевдоним %%c направлял на этот адрес.

Чтобы "победить" надо просмотреть шрифт через Shx Viewer и убедиться, что все на своем месте. Не забываем также, что файл шрифта перечитывается после перезагрузки AutoCAD.
ShaggyDoc вне форума  
 
Непрочитано 28.11.2008, 07:37
#100
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,535
<phrase 1= Отправить сообщение для wetr с помощью Skype™


В этом, который самый неудачный GOSTW.shx
Прикладываю файл и скрин из Shx Viewer где все красиво. В свойствах шрифта в графе "Содержание" изображен ДИАМЕТР.
Миниатюры
Нажмите на изображение для увеличения
Название: Capture_2.jpg
Просмотров: 169
Размер:	20.9 Кб
ID:	12778  Нажмите на изображение для увеличения
Название: Capture.jpg
Просмотров: 184
Размер:	84.0 Кб
ID:	12779  
Вложения
Тип файла: rar GOSTW.rar (4.2 Кб, 133 просмотров)
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)

Последний раз редактировалось wetr, 28.11.2008 в 07:37. Причина: очепятка
wetr вне форума  
 
Непрочитано 28.11.2008, 09:59
#101
ShaggyDoc

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, а там его нет, вот и подставляются левые символы.
ShaggyDoc вне форума  
 
Непрочитано 28.11.2008, 10:11
#102
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,535
<phrase 1= Отправить сообщение для wetr с помощью Skype™


да, я видел, что там все не как у людей. И не только диаметр.
Т.е. получается, что в новых автокадах не работают старые шрифты? Груссно, очень грусно. Ну ничего. Можно взять за основу юникод шрифт и накидать туда понравившиеся буквы
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 28.11.2008, 11:02
#103
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381


Возьми из #90.
ShaggyDoc вне форума  
 
Непрочитано 28.11.2008, 11:15
#104
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


ShaggyDoc, Особо не рассматривал шрифт из #90, но заметил, что при описании "круглых" букв рисование дугами не используется. Это сделано для
Цитата:
1. Шрифт совместимый с MLEADER (устранен эффект "прилипания" к полке).
wetr, У меня в планах есть попробовать немного "оторвать" шрифт по оси Y в соответствии с #95
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 28.11.2008 в 11:36. Причина: орфография
VVA вне форума  
 
Непрочитано 28.11.2008, 11:22
#105
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381


Да, именно чтоб не прилипал. Разумеется, все буквы я заново не перерисовывал. Большинство обычных букв заимствованы, кое-что переделал, кое-что добавил.
ShaggyDoc вне форума  
 
Непрочитано 28.11.2008, 17:13
#106
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,535
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
Возьми из #90.
Я бы с радостью, но у вас, какой-то странный шрифт получился. Буквы не прилепают, но заметно опускаются. С, З, цифры 3,5,9. Маленькие буквы - совсем грусно. Этот шрифт тоже исключение.
Вложения
Тип файла: pdf ML-Layout1.pdf (9.0 Кб, 163 просмотров)
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 28.11.2008, 17:20
#107
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,535
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Цитата:
Сообщение от VVA Посмотреть сообщение

wetr, У меня в планах есть попробовать немного "оторвать" шрифт по оси Y в соответствии с #95
Это было бы идеально! Я сам подумывал об этом, но как вспомнил сколько там символов, аж дурно стало. У меня на косметические доделки готового(!) шрифта ушло 2 недели. Что уж говорить об твоем. Но не все так просто, как я написал в посте №95. Я тут раскопал шрифт (прикладываю)"круглый", буквы оторваны от нуля но...прилипает. В общем еще прийдется поломать копья.
Вложения
Тип файла: rar gosta_w.rar (2.3 Кб, 128 просмотров)
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 28.11.2008, 19:11
#108
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381


Цитата:
Сообщение от wetr Посмотреть сообщение
Я бы с радостью, но у вас, какой-то странный шрифт получился. Буквы не прилепают, но заметно опускаются. С, З, цифры 3,5,9. Маленькие буквы - совсем грусно.
wetr, ты методически неправильно проверяешь шрифты. У тебя заготовлены образцы для проверки и ты просто изменяешь у них стиль текста, так?

Вот здесь и ошибка. У AutoCAD, видимо, имеется такой глюк - ранее нарисованная "плохим" шрифтом выноска не изменяет эффекта прилипания. Попробуй сдвинуть выноску и буквы отлипнут. Не прилипают и новые выноски.

Шрифты, условно названные "воистину плохими" не отлипают и при перетаскивании. Шрифты, условно называемые "условно хорошими" отлипают.

"Безусловно хороших" пока не нашлось. Конечно, можно приподнять в описании шрифта символы от линии основания, но это слишком большая работа. И неизвестно, чем кончится. Простого решения, чтобы с гарантиейи без побочных последствий приподнимался любой шрифт пока не находится.
ShaggyDoc вне форума  
 
Непрочитано 01.12.2008, 09:52
#109
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Баловался тут недавно с формами и наткнулся тут на код 15. Он нигде не описан, но возможно он есть, потому как компилится. Может кто по нему чтонить скажет?
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 01.12.2008, 10:27
#110
KSI


 
Регистрация: 19.03.2004
Калининград
Сообщений: 1,842


15 десятичный или шестнадцатиричный?
KSI вне форума  
 
Непрочитано 01.12.2008, 11:55
#111
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Шеснадцатиричный.

0F

Я сильно не эксперементировал. Его можно вычислить методом тыка, а может кто знает где посмотреть про него. А может он вообще зарезервирован. Но мне хотелосьбы его задействовать под одну деталь...
__________________
Поезд который устал от ржавого здравомыслия рельсов...

Последний раз редактировалось Shoorup, 01.12.2008 в 12:11.
Shoorup вне форума  
 
Непрочитано 01.12.2008, 13:08
#112
KSI


 
Регистрация: 19.03.2004
Калининград
Сообщений: 1,842


Вот посмотри описание кодов. Но есть ли на этот код отдельная клавиша, не знаю.
Вложения
Тип файла: pdf U0000.pdf (119.4 Кб, 171 просмотров)
KSI вне форума  
 
Непрочитано 01.12.2008, 14:11
#113
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


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-???
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 01.12.2008, 14:32
#114
ShaggyDoc

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 имеет ввиду управляющий код для создания самого символа, вот он мог бы "некомпилиться". Но и здесь в недокументированные, даже если обнаружатся, незачем лезть. Толку-то никакого.
ShaggyDoc вне форума  
 
Непрочитано 01.12.2008, 15:34
#115
KSI


 
Регистрация: 19.03.2004
Калининград
Сообщений: 1,842


По 00F ничего в описании не нашел.
KSI вне форума  
 
Непрочитано 01.12.2008, 15:54
#116
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
Возможно Shoorup имеет ввиду управляющий код для создания самого символа, вот он мог бы "некомпилиться". Но и здесь в недокументированные, даже если обнаружатся, незачем лезть. Толку-то никакого.
Об этом и толкую! Компилится, но что он делает не знаю. Вообще очень мало чего нашел в инете по кадовским шрифтам и по формату описания. Вообще формат не сложный и компиляция ничего специфического не делает. Добовляет заголовок и всё. Все остальные данные пишутся так как описывались в файле форм. Судя по заголовку компилированного файла форм, он ведет свою историю с акада 86. Причем есть версия и 1.0 и 1.1. Может у кого есть инфа по данной теме?
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 01.12.2008, 16:00
#117
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Offtop: Если акад пропускает этот код и ничего не делает, то думаю можно применить данную "фенечку" в других кад системах. Можно даже нанософту предложить идею.
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 02.02.2009, 19:22
#118
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


По поводу прилипания шрифта в мультивыноске. Уточнение #95 :
Выясняется (по крайней мере на моем шрифте mipgost), что отрыв шрифта от линии основания эффекта не дает. Может дело еще в чем-то. Экспериментальным путем выяснилось, что за "прилипание" шрифта отвечают нижние дуги символа. На картинке проблемный участок помечен красным. У цифры 3 слева дуга апроксимирована 4 хордами, справа - дуга осталась дугой. Закругление выше сделано дугой в обоих случаях. Отличия выделены красным
Цитата:
*033,33,number_3 <-Цифра 3 слева
1,8,(3,0),3,100,9,(115,23),(97,65),(65,97),(23,115),(0,0),4,100,024,12,(-3,3,52),018,8,(4,6),068,2,0EC,090,0
*033,18,3 <-Цифра 3 справа
1,030,10,(3,062),024,10,(3,002),018,8,(4,6),068,2,0EC,090,0
Зеленым выделен эксперимент, что тип дуги (октантная код 10 или заданная прогибом код 12,13) никакого значения не имеют. Таким образом с успехом поправил цифры 3,5,6. Завтра продолжу. Если что, отпишусь.
Еще добавлю #108, что у "условно хороших" шрифтов буквы отлипают, если начать редактировать выноску и нажать OK

***Добавлено 03.02.2009
Еще одна причина "прилипания" - буквы Ё и Й. Все части букв должны быть вписаны в высоту шрифта.
Если шрифт описан как
Цитата:
*UNIFONT,6,mipGost Gost 2.304-81 type A russian font,Oct 2004,by Vladimir Azarko,Minsk
14,4,0,0,0,0
14 - высота над базовой линией
4 - ниже базовой линии
Буква Ё рисовалась как Е (14 векторов в высоту) и с отступом в один вектор еще черточки. Т.е. получалось 16 векторов
Оказалось для этого случая достаточно изменить описание шрифта
Цитата:
*UNIFONT,6,mipGost Gost 2.304-81 type A russian font,Oct 2004,by Vladimir Azarko,Minsk
16,4,0,0,0,0
Миниатюры
Нажмите на изображение для увеличения
Название: font.jpg
Просмотров: 119
Размер:	10.3 Кб
ID:	15479  
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 03.02.2009 в 19:01. Причина: Добавление информации
VVA вне форума  
 
Непрочитано 02.02.2009, 23:33
#119
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


Shoorup
>>Offtop: Если акад пропускает этот код и ничего не делает, то думаю можно применить данную "фенечку" в других кад системах. Можно даже нанософту предложить идею
и как это можно использовать? учитывая что внутри када нано или авто без разницы, шрифты хранятся явно не в shx, и 0F пропадет при загрузке
zamtmn вне форума  
 
Непрочитано 03.02.2009, 05:47
#120
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,535
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Цитата:
Сообщение от VVA Посмотреть сообщение
По поводу прилипания шрифта в мультивыноске. Уточнение...
Да я тоже замечал
Цитата:
Сообщение от wetr Посмотреть сообщение
... Но не все так просто, как я написал в посте №95. Я тут раскопал шрифт (прикладываю)"круглый", буквы оторваны от нуля но...прилипает. В общем еще прийдется поломать копья.
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 03.02.2009, 06:51
#121
ShaggyDoc

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 - для диалоговых окон. Проблемы с прилипанием вроде бы решены.
Вложения
Тип файла: zip rucad_font.zip (266.2 Кб, 438 просмотров)

Последний раз редактировалось ShaggyDoc, 03.02.2009 в 06:57.
ShaggyDoc вне форума  
 
Непрочитано 03.02.2009, 09:50
#122
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,535
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
VVA, wetr - посмотрите вот этот шрифт. В архиве shx и ttf. TTF - для диалоговых окон. Проблемы с прилипанием вроде бы решены.
Шрифр хороший, но mipGost красивее...
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 03.02.2009, 10:39
#123
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


ShaggyDoc, Хочу уточнить один вопрос касаемо области личного применения.
Цитата:
При переработке шрифта учитывались и иные разработки, например шрифты CS_Gost_2304.shx, mipGost.shx. Эти шрифты
применяются часто и желательно, чтобы их символы сооответствовали и нашему шрифту.
Добавляя символы проката я ориентировался по кодам на уже существующий шрифт CS_Gost2304.shx. Хотелось бы для совместимости ставить символы проката по одним и темже адресам. В частности нашел отличия а адресах E71F, E720, E721, E723, E724, E725-E72C
Шрифт CS_Gost2304.shx прилагаю. Хотелось бы посмотреть на CS_Gost_2304.shx. У кого есть выложите.
Вложения
Тип файла: rar CS_Gost2304.rar (10.3 Кб, 796 просмотров)
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 03.02.2009, 11:06
#124
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381


Да, совместимости хотелось бы, но не получается. Символы проката в тех шрифтах находятся на незаконных местах - не там, где положено быть по спецификации UNICODE.
ShaggyDoc вне форума  
 
Непрочитано 03.02.2009, 11:28
#125
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


ShaggyDoc, Я как раз вчера копался на unicode.org, но законных мест проката не нашел. Можно ссылку. Это я к тому, что Krieger прислал еще парочку профилей. Хочется все сделать правильно. Предполагаемая добавка
Вложения
Тип файла: dwg
DWG 2004
Шрифт Кригер Font.dwg (98.7 Кб, 2870 просмотров)
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 03.02.2009, 14:36
#126
ShaggyDoc

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 я перенес - римские цифры, еще что-то. Чтоб были на законных местах.

Юникод я разбирал в Википедии - на русском и более наглядно.
ShaggyDoc вне форума  
 
Непрочитано 03.02.2009, 15:51
#127
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


Про римские понятно. Раз уж занялся, то верну их на свое место. Я имею ввиду, что в шрифте CS_Gost2304.shx ,к примеру, по адресу E723 расположен прокат из двух диагонально расположенных уголков, в шрифте ruCAD по адресу E723 - коробочка из 4 уголков,
rucad.shx - адрес E724 - швеллер
CS_Gost2304.shx - адрес E724 - 2 швеллера
и т.д.
Цитата:
А можно и свой фактический стандарт сделать. Кого бояться-то?
Именно это в диапазоне E7XX и хотелось бы сделать.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 03.02.2009, 20:41
#128
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381


Ну, прокат-то я действительно поменял. А где встретится два диагональных уголка в реале? Или швеллер, к котором уголок сбоку прилеплен? А швеллер и двутавр рядом?
Ведь шрифтом будут подписывать, например, вдоль схем металлоконструкций, в спецификации. Поэтому я там кое-что явно ненужное и убрал.

Но, разумеется, эту часть можно и обсудить прилюдно, с теми, кто реально работает и сделать единый оптимльный вариант.
ShaggyDoc вне форума  
 
Непрочитано 02.04.2009, 16:40
#129
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
VVA, wetr - посмотрите вот этот шрифт. В архиве shx и ttf. TTF - для диалоговых окон. Проблемы с прилипанием вроде бы решены.
Нашёлся один косяк. При использовании символов "(" или ")" в первой строке мультивыноски всё же происходит это пресловутое прилипание к полке.
Makswell вне форума  
 
Непрочитано 02.04.2009, 16:51
#130
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,535
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
А где встретится два диагональных уголка в реале?
В фермах обычное дело

Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
Или швеллер, к котором уголок сбоку прилеплен? А швеллер и двутавр рядом?
При реконструкции часто необходимо усиливать балки. В том числе и перечисленными способами.
Другое дело, есть ли среди пользователей Рукада строители? Нужно ли это кому нибудь?
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 02.04.2009, 21:37
#131
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381


wetr, конечно спрашивал я у строителей - что надо. Они и подсказали.

Разумеется, в практике могут быть самые разнообразные сочетания профилей, вопрос в том - надо ли их в шрифт вводить. Где именно шрифт нужен? Например, на схемах подписать сечение. В спецификации, ведомости. Какое-то экзотичное сочетание никогда и не встретится, или раз в жизни.

Но ничто не мешает добавить в шрифт всё, что требуется - делов-то. Предлагаю просто всем желающим предложить свои варианты. А мы и в шрифты их внесём. Да согласуем, чтобы на единых местах были. Или вообще единый оптимальный шрифт можно сделать с учётом всех обнаруженных косяков.
ShaggyDoc вне форума  
 
Непрочитано 03.04.2009, 11:05
#132
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


Цитата:
Предлагаю просто всем желающим предложить свои варианты. А мы и в шрифты их внесём
Полностью поддерживаю. Я уже вплотную приблизился к пересмотру "неприлипающей к мультивыноске" части символов в плане "законности" присвоения им того или иного адреса. Промежуточный вариант выложен здесь
Имеем:
1. Предложения новых профилей от Krieger'a #125
2. Нестыковка некоторых символов rucad.shx, mipgost.shx, CS_Gost2304.shx в позициях E7XX (см. #127)
Цитата:
Или вообще единый оптимальный шрифт можно сделать с учётом всех обнаруженных косяков.
За всеми частями тела.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 21.01.2010, 15:12
#133
cancercat

инженер-преподаватель ;-)
 
Регистрация: 14.10.2008
Санкт-Петербург
Сообщений: 1,999


Подниму-ка тему, чем новую создавать...
Вопрос, собственно, к VVA как к создателю. Пользуюсь шрифтом mipgost.shx. При простановке диаметра не ставится значок диаметра перед размерным числом. Выводит знак вопроса. С чем это может быть связано? Автокад 2008LT.
cancercat вне форума  
 
Непрочитано 21.01.2010, 15:27
#134
KSI


 
Регистрация: 19.03.2004
Калининград
Сообщений: 1,842


А какой код символа в шрифте? Должен быть 2205.
Что-то я у себя не нашел такой шрифт. Небось ещё досовский.
KSI вне форума  
 
Непрочитано 21.01.2010, 15:37
#135
cancercat

инженер-преподаватель ;-)
 
Регистрация: 14.10.2008
Санкт-Петербург
Сообщений: 1,999


KSI, http://dwg.ru/dnl/147 Кода там никакого нет, разве что %%c, но эта комбинация как раз и не работает...
cancercat вне форума  
 
Непрочитано 21.01.2010, 16:09
#136
KSI


 
Регистрация: 19.03.2004
Калининград
Сообщений: 1,842


К сожалению нет Лайта 2008, проверял на полном 2007 и 2010, все в порядке.
В шрифте "mipGost.shx", символ диаметра, как и положено, имеет код 2205.
KSI вне форума  
 
Непрочитано 21.01.2010, 16:21
#137
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


cancercat, А что дает \U+2205?
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 21.01.2010, 16:23
#138
cancercat

инженер-преподаватель ;-)
 
Регистрация: 14.10.2008
Санкт-Петербург
Сообщений: 1,999


Очень странно... Я сейчас тоже попробовал на чистом чертеже - всё выводится. Видимо, дело именно в данном конкретном чертеже. Прикладываю. Диаметр не хочет выводиться даже через редактор Мтекста!
Вложения
Тип файла: dwg
DWG 2007
Траверса.dwg (188.7 Кб, 2734 просмотров)
cancercat вне форума  
 
Непрочитано 21.01.2010, 16:29
#139
KSI


 
Регистрация: 19.03.2004
Калининград
Сообщений: 1,842


Открыл чертеж в 2007 полном Акаде, все в порядке.
KSI вне форума  
 
Непрочитано 21.01.2010, 16:51
#140
cancercat

инженер-преподаватель ;-)
 
Регистрация: 14.10.2008
Санкт-Петербург
Сообщений: 1,999


Ещё более странно...
VVA, это комбинация выводит знак вопроса.
Попробовал открыть этот же чертёж на соседнем компе. Там тоже 2008LT. И та же самая проблема. Причём, что интересно, если в диспетчере размерных стилей поменять шрифт установленного текстового стиля на ГОСТ тип А (ttf), то "прорисовывается" буква Ш. А если на Times New Roman - выводится знак диаметра! Чудеса какие-то... Приду домой - посмотрю на своём полном Автокаде.
cancercat вне форума  
 
Непрочитано 21.01.2010, 17:07
#141
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


cancercat, Попробуй сделать так:
1. Открыть чистый чертеж, где все выводится
2. В этот чертеж вставить глючный как блок с последующим расчлелением
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 21.01.2010, 23:38
#142
cancercat

инженер-преподаватель ;-)
 
Регистрация: 14.10.2008
Санкт-Петербург
Сообщений: 1,999


Продолжаем дальше... В 2008-й и 2010-й полных версиях всё нормально (знак диаметра выводится). Завтра на работе попробую совет VVA. Только вот в чём вопрос - от чего это может быть и как часто проявляться? И как с этим бороться? Вопрос далеко не праздный, потому как я планирую предложить данный шрифт в качестве общепринятого для всей конторы. И, если выяснится, что знак диаметра не ставится достаточно часто, на меня все шишки и посыплются...
cancercat вне форума  
 
Непрочитано 22.01.2010, 03:36
#143
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,535
<phrase 1= Отправить сообщение для wetr с помощью Skype™


сталкивался, с такой проблемой. Но были у меня другие *.shx шрифты. Мне кажется это баг автокада, а не проблема шрифта.
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 22.01.2010, 07:40
#144
saa


 
Регистрация: 25.09.2008
Новосибирск
Сообщений: 218


У меня тоже была такая проблема, диаметр отображался вопросом и на "%%c", и на "\u+2205", в ком. строку выводилось "потеря шрифтового стека". Но происходило это только во вновь создаваемых файлах, а после сохранения и перезагрузки автокада проблема исчезала сама собой.
saa вне форума  
 
Непрочитано 22.01.2010, 09:58
#145
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


Цитата:
Сообщение от cancercat Посмотреть сообщение
потому как я планирую предложить данный шрифт в качестве общепринятого для всей конторы
Мы этот шрифт используем достаточно давно (еще с доюникодовской эры). Пробовали на Автокадах, начиная с 2002. Правда LT не использовали. В свете появления mleader'a и проблемы "прилипания" шрифтов к полке есть переписанная версия. Основные изменения:
1. Не используются дуги (идет аппроксимация)
2. Шрифт чуть шире за счет расстояния между буквами (на 1/14 высоты шрифта)
3. Написание букв идет с небольшим смещением по X. (В редакторе текста курсор не на букве, а перед ней)
Ссылка на шрифт приведена в #132 Я обновил последнее состояние (на 13.11.2009) В общем этот шрифт пока находится на тестировании (в свете большой загрузки на работе просто пока заброшен )
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 22.01.2010, 10:45
#146
cancercat

инженер-преподаватель ;-)
 
Регистрация: 14.10.2008
Санкт-Петербург
Сообщений: 1,999


VVA, новый шрифт скачал, сейчас попробую.
Сегодня попробовал открыть приложенный файл на работе в той же версии Автокада, что и вчера (2008 LT). Диаметр прекрасно ставится. Самое что интересное, я открывал дома в полных версиях, но не сохранял файл. Видимо, это глюк Автокада, причём проблема, и правда, снимается перезагрузкой системы (не Автокада, я вчера пробовал, а систему не перегружал).
cancercat вне форума  
 
Непрочитано 26.01.2010, 00:31
#147
Reltsid


 
Регистрация: 26.01.2010
Сообщений: 3


Аналогичная проблема. Диаметр в шрифте mipgost в половине файлов отражается в виде знака "?". Пока получается добиться правильного отражения переброской всего чертежа через буфер обмена в чистый файл. После некоторого количества открытий и в этом файле знак диаметра заменяется на "?".
Reltsid вне форума  
 
Непрочитано 26.01.2010, 10:25
#148
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


cancercat, Reltsid, А другие знаки (плюс-минус, градус) как себя ведут?
В качестве предположения:
Раньше (до юникода) стандартным символам (диаметр, градус, плюс-минус) присваивались имена. Т.е в шрифте это выглядело так:
Цитата:
*Degree_Sign,13,kdeg
2,8,(-2,14),1,10,(2,040),2,8,(8,-14),0
*Plus_Or_Minus_Sign,29,kpls-min
2,8,(0,7),1,8,(6,0),2,8,(-3,3),1,8,(0,-6),2,8,(-3,-2),1,8,(6,0),2,8,(4,-2),0
*Diameter_Symbol,27,kdiam
2,8,(2,0),1,8,(4,14),2,8,(2,-7),1,13,(-8,0,127),(8,0,127),(0,0),2,8,(4,-7),0
Я оставил и старый вариант и новый (юникод).
Попробуйте удалить эти строки из shp файла и перекомпилировать наново.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 26.01.2010, 10:56
#149
cancercat

инженер-преподаватель ;-)
 
Регистрация: 14.10.2008
Санкт-Петербург
Сообщений: 1,999


VVA, другие знаки ведут себя прилично. Глюк только у диаметра. Кстати, почему новый шрифт шире, чем старый? И я не умею компилировать...
cancercat вне форума  
 
Непрочитано 26.01.2010, 11:16
#150
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


Цитата:
Сообщение от cancercat Посмотреть сообщение
Кстати, почему новый шрифт шире, чем старый?
почитай п.2 из #145. При печати букв высотой 2, 2.5, 3 мм с наклоном буквы сливались. Поэтому решил сделать чуть шире. Вернуть ширину назад дело пары секунд (поиском и заменой).
Цитата:
Сообщение от cancercat Посмотреть сообщение
И я не умею компилировать..
Команда Автокада _COMPILE
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 26.01.2010, 11:23
#151
cancercat

инженер-преподаватель ;-)
 
Регистрация: 14.10.2008
Санкт-Петербург
Сообщений: 1,999


VVA, ага... Учитывая, что у меня LT версия... А вообще, мне старый шрифт больше нравится.
cancercat вне форума  
 
Непрочитано 26.01.2010, 11:26
#152
saa


 
Регистрация: 25.09.2008
Новосибирск
Сообщений: 218


А я разницы практически не вижу, только апроксимация дуг заметна, да и то только при близком рассмотрении.
saa вне форума  
 
Непрочитано 30.01.2010, 17:21
#153
Reltsid


 
Регистрация: 26.01.2010
Сообщений: 3


Все знаки кроме диаметра ведут себя нормально. Попробую перекомпилировать SHX.
Reltsid вне форума  
 
Непрочитано 31.01.2010, 02:03
1 | #154
Kostikus

Инженер-проектировщик
 
Регистрация: 22.03.2009
Киев
Сообщений: 5
<phrase 1=


Да, похоже проблема со знаком диаметра у многих при использовании определённых шрифтов. Перечитал кучу тем, но решение данной проблемы мало где увидел. Использую 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.
Kostikus вне форума  
 
Непрочитано 02.02.2010, 13:40
#155
cancercat

инженер-преподаватель ;-)
 
Регистрация: 14.10.2008
Санкт-Петербург
Сообщений: 1,999


Kostikus, что за зверь такой SHXViewer? Где найти и с чем едят?
cancercat вне форума  
 
Непрочитано 02.02.2010, 13:42
#156
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,853


http://www.google.com/cse?q=SHXViewe...TF-8&sa=Search ?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 02.02.2010, 14:00
#157
Kostikus

Инженер-проектировщик
 
Регистрация: 22.03.2009
Киев
Сообщений: 5
<phrase 1=


cancercat, мне нечего добавить по вашему вопросу, всё уже сказано в предыдущем посте (#156).

Последний раз редактировалось Kostikus, 02.02.2010 в 14:07.
Kostikus вне форума  
 
Непрочитано 02.02.2010, 15:17
#158
cancercat

инженер-преподаватель ;-)
 
Регистрация: 14.10.2008
Санкт-Петербург
Сообщений: 1,999


Кулик Алексей aka kpblc, там всё по-нерусски, а я ни бум-бум! Есть хоть какое-то русскоязычное описание?
cancercat вне форума  
 
Непрочитано 02.02.2010, 15:29
#159
shnn

Инженер
 
Регистрация: 18.02.2005
Самара
Сообщений: 747


>cancercat
Вложения
Тип файла: zip SHX Viewer.zip (270.1 Кб, 364 просмотров)
shnn вне форума  
 
Непрочитано 05.02.2010, 09:42
#160
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


Цитата:
Сообщение от Kostikus Посмотреть сообщение
PS Прошу поправить меня, если я в чём-то не прав, так как со шрифтами возился первый раз.
В любом случае молодец, что нашел решение своей проблемы. По поводу шрифта mipgost - символа 00D8 у меня нет. Буква Ш на положенном ей месте. Но у меня появились смутные сомнения, что в шрифте WWCAD появлялась Ш, так как там по адресу 00D8 было описание этой буквы, а в mipgost по этому адресу ничего нет и поэтому появляется знак ?.
В общем ко всем, задававшим здесь вопросы про знак ? вместо диаметра просьба проверить мое предположение. В архиве шрифты с добавленным по адресу 0D8 знаком диаметра

PS Сомнения подтвердились. Описание символа диаметра должно быть в 2-х местах. По адресу \U+00D8 и \U+2205
Вложения
Тип файла: rar MIPGOST.rar (29.6 Кб, 629 просмотров)
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 10.12.2013 в 13:42.
VVA вне форума  
 
Непрочитано 05.02.2010, 13:30
#161
Kostikus

Инженер-проектировщик
 
Регистрация: 22.03.2009
Киев
Сообщений: 5
<phrase 1=


Цитата:
Сообщение от VVA Посмотреть сообщение
В общем ко всем, задававшим здесь вопросы про знак ? вместо диаметра просьба проверить мое предположение. В архиве шрифты с добавленным по адресу 0D8 знаком диаметра
Проверил - работает
Правленный mipgost правильно отображает знак диаметра (проверил в ACAD2008).
Kostikus вне форума  
 
Непрочитано 05.02.2010, 14:47
#162
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


У меня в 2009-м текст данного шрифта в одних объектах прилипает к полочке выноски (т.е. лежит непосредственно на ней), а в др - нет. Со знаками плюс/минус и диаметра проблем нет.
На скрине два объекта мультивыноски, имеющие один и тот же стиль, но на одном видим, что текст отступает от полки, а на др. - нет.... Открытие и закрытие файла, аудит и регенерация не помогает.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось Кулик Алексей aka kpblc, 05.02.2010 в 16:21.
hwd вне форума  
 
Непрочитано 05.02.2010, 16:22
#163
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,853


Скорее всего, в одной строке используются символы, внизу которых "дуги", а во второй - нет. Вопрос на форуме поднимался, но точного названия темы я не помню
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 05.02.2010, 16:27
#164
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Скорее всего, в одной строке используются символы, внизу которых "дуги", а во второй - нет. Вопрос на форуме поднимался, но точного названия темы я не помню
какие ещё "дуги"?
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 05.02.2010, 17:26
#165
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Вопрос на форуме поднимался, но точного названия темы я не помню
Здесь же в посте #95 и Здесь

Цитата:
Сообщение от hwd Посмотреть сообщение
какие ещё "дуги"?
Эти
Цитата:
Сообщение от hwd Посмотреть сообщение
У меня в 2009-м текст данного шрифта в одних объектах прилипает к полочке выноски (т.е. лежит непосредственно на ней), а в др - нет.
В архиве из #160 2 шрифта. Попробуй 2-й
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 06.02.2010, 10:20
#166
saa


 
Регистрация: 25.09.2008
Новосибирск
Сообщений: 218


Прилипает к полке английская маленькая "l", особенно это заметно при нескольких строках текста (см. вложение)
Вложения
Тип файла: dwg
DWG 2007
Чертеж1.dwg (95.0 Кб, 1863 просмотров)
saa вне форума  
 
Непрочитано 09.02.2010, 19:31
1 | #167
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


saa, Обновил #160
Сомнения (см. #160) по поводу адреса подтвердились. Описание символа диаметра должно быть в 2-х местах. По адресу 00D8 и 2205. После добавления описания диаметра по адресу 00D8 знаки вопроса исчезли во всех "глючных" чертежах.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 10.02.2010, 13:19
#168
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,535
<phrase 1= Отправить сообщение для wetr с помощью Skype™


VVA, обновленная версия с переработанными английскими символами или только L изменилась?
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 10.02.2010, 15:17
#169
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


wetr, Символы были переработаны раньше. В английской l пропустил дугу. Ее и подправил
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 16.02.2010, 23:26
#170
Reltsid


 
Регистрация: 26.01.2010
Сообщений: 3


Проблема с диаметром наконец решена. Спасибо.
(осталось только убрать прилипание текста к выноске).
Reltsid вне форума  
 
Непрочитано 17.02.2010, 09:44
#171
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


Цитата:
Сообщение от Reltsid Посмотреть сообщение
(осталось только убрать прилипание текста к выноске).
Вариант - mipgost-new. Тестируй
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 17.03.2010, 10:46
#172
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от VVA Посмотреть сообщение
Вариант - mipgost-new. Тестируй
Скопировал mipgost-new, переименовал его в mipgost и заменил старый файл переименованным. Создал объект мультивыноски, набрал кракозяблы английскими буквами. Затем скопировал объект, перенабрал текст на русском. Результат выглядит так:



Т.о. проблема с "залипанием" букв к выноске у меня осталась.

Файл прилагается ниже.
Вложения
Тип файла: dwg
DWG 2007
Текстовые и размерные стили.dwg (64.6 Кб, 1844 просмотров)
hwd вне форума  
 
Непрочитано 17.03.2010, 16:28
#173
grachev.p

конструктор мебели
 
Регистрация: 28.02.2010
г. Гатчина
Сообщений: 27


Цитата:
Т.о. проблема с "залипанием" букв к выноске у меня осталась.
При прописной "s" залипание происходит. С остальными вроде бы нормально.
grachev.p вне форума  
 
Непрочитано 17.03.2010, 16:31
#174
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от grachev.p Посмотреть сообщение
С остальными вроде бы нормально.
легче от этого не становится.
hwd вне форума  
 
Непрочитано 17.03.2010, 16:33
#175
grachev.p

конструктор мебели
 
Регистрация: 28.02.2010
г. Гатчина
Сообщений: 27


А еще заметил, если присутствует "y", "j", "g" то залипание пропадает.
grachev.p вне форума  
 
Непрочитано 17.03.2010, 16:35
#176
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от grachev.p Посмотреть сообщение
А еще заметил, если присутствует "y", то залипание пропадает.
оно не пропадает. просто текст поднимается выше на высоту "хвостика" буквы "у".

В случае использования курсива, символ \U+E72F (обозначение катета) вместо прямоугольника более похож на равнобедренный треугольник (с проблемой обратились пользователи). Чтобы в наклонном варианте шрифта получить нужный вид, добавил в файл исходников (MipGost.shp) такую запись:
Код:
[Выделить все]
*0E744,23,xe744
3,3,2,8,(42,2),1,8,(-36,0),8,(-12,36),8,(48,-36),2,8,(6,-2),4,3,0
На скрине показан текст, в котором левый катет выполнен как \U+E72F и правый, как \U+E744.



сижу разбираюсь с символом "s", из-за которого текст залипает к полке выноски....

Последний раз редактировалось hwd, 18.03.2010 в 17:02.
hwd вне форума  
 
Непрочитано 18.03.2010, 22:59
#177
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


Цитата:
Сообщение от hwd Посмотреть сообщение
Т.о. проблема с "залипанием" букв к выноске у меня осталась.
Цитата:
Сообщение от hwd Посмотреть сообщение
сижу разбираюсь с символом "s", из-за которого текст залипает к полке выноски
буква s прилипакт к выноске из-за оставшихся дуг в ее описании ( в низу). По поводу катета шва нужно будет подумать. Спасибо за решение, может быть им воспользуюсь. В любом случае уезжаю в командировку. Скорее всего решение будет к середине следующей недели.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 18.03.2010, 23:48
#178
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от VVA Посмотреть сообщение
буква s прилипакт к выноске из-за оставшихся дуг в ее описании ( в низу).
Не понял. Что за "оставшиеся" дуги? На всякий случай прорисовал геометрию буквы в автокаде (по коду описания) - ничего лишнего не вижу... Если попробовать букву приподнять на 2 единицы (думал, может это поможет) - она вовсе исчезает.

п.с. насчет кода символа катета шва - он актуален только при наклоне шрифта в 15 градусов (такой принят у нас) - универсального решения под любой угол наклона не получится.
hwd вне форума  
 
Непрочитано 19.03.2010, 02:12
#179
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,535
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Цитата:
Сообщение от hwd Посмотреть сообщение
Не понял. Что за "оставшиеся" дуги?
буквы можно описывать с помощью прямых отрезков, можно с помощью дуг, см. управляющие коды 10-13 здесь. Дуги в нижней части букв липнут к полке. Если описание состоит только из отрезков - все ОК.
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 19.03.2010, 08:21
#180
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от wetr Посмотреть сообщение
буквы можно описывать с помощью прямых отрезков, можно с помощью дуг, см. управляющие коды 10-13 здесь.
Ежели я выше написал, что по коду описания символа прорисовал в акаде его геометрию, то вроде бы не сложно догадаться - я знаю что такое дуги и как они вычерчиваются.
Цитата:
Сообщение от wetr Посмотреть сообщение
Дуги в нижней части букв липнут к полке. Если описание состоит только из отрезков - все ОК.
Т.е. ты хочешь сказать, что это баг автокадовского shp-парсера и залипать будет любой символ, в основании которого имеется дуга? Так?
hwd вне форума  
 
Непрочитано 19.03.2010, 08:59
#181
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,535
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Цитата:
Сообщение от hwd Посмотреть сообщение
залипать будет любой символ, в основании которого имеется дуга? Так?
Почти любой. Как-то я находил шрифт с дугами который не прилипает. Почему это происходит - не понял. Но большинство символов с дугами - липнет...
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)

Последний раз редактировалось wetr, 22.03.2010 в 01:26.
wetr вне форума  
 
Непрочитано 19.03.2010, 10:15
#182
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
большинство символов с дугами - липнет...
2 Крыс
Если это баг и он не добавлен в виш-лист, имхо стоит это сделать (у меня туда доступа нет).
hwd вне форума  
 
Непрочитано 21.03.2010, 23:06
#183
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от Александер Посмотреть сообщение
> ===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 или нет.
чет я не припомню чтоб Ё использовалась, в тех.документации
Букву N часто используют вместо №
и шрифт romans.shx используют за бугром, а у нас используют шрифт по ГОСТ 2.304
Надо было не менять, а добавлять!

Последний раз редактировалось gomer, 21.03.2010 в 23:15.
gomer вне форума  
 
Непрочитано 31.05.2010, 13:29 Проблемы при работе со шрифтом MipGost.shx.
#184
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Исходные данные:
- шрифт MipGost.shx
-AutoCAD 2009 SP3 Enu x86
P.S. Когда-то ранее в него (в самом конце) мною был добавлен символ \u+e744, корректно отображающий катет шва (под почти прямым углом) при наклоне шрифта в 15 градусов (изначально предположил, что ниже указанная проблема связана с этим измененим, однако баг присутствует и в версии MipGost-test.shx, который я не изменял).
Проблема:
Ниже прикреплён файл "Фатал эрор при попытке добавления 5-го символа №.dwg", в котором содержатся несколько текстовых стилей. Один из них построен на базе шрифта MipGost.shx (выложенного мною в архиве). Если используя этот текстовый стиль создать текстовый объект, в котором будет встречаться 4 символа "№" - то всё нормально, однако если в тексте попытатся ввести 5-й символ "№" - автокад вылетает в Fatal Error (на любой машине).

В исходниках нашел код, прописывающий данный символ:
Цитата:
*02116,34,symbol_nomer
5,2,010,1,0E4,8,(7,-14),0E4,3,10,5,2,8,(20,-15),4,10,1,12,(3,0,-127),03C,
12,(-3,0,-127),034,6,2,080,0EC,0
Вложения
Тип файла: rar Fonts.rar (202.7 Кб, 123 просмотров)
Тип файла: dwg
DWG 2007
Фатал эрор при попытке добавления 5-го символа №.dwg (72.5 Кб, 1190 просмотров)

Последний раз редактировалось hwd, 31.05.2010 в 14:56.
hwd вне форума  
 
Непрочитано 31.05.2010, 15:01
#185
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


Добавил к mipgost твой U+E744. Проверил на 2009 RUS SP3 x86. Вылета нет
Вложения
Тип файла: rar mipgost.RAR (15.2 Кб, 140 просмотров)
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 31.05.2010, 15:15
#186
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от VVA Посмотреть сообщение
Добавил к mipgost твой U+E744. Проверил на 2009 RUS SP3 x86. Вылета нет
Да, эта версия шрифта не вылетает. Спасибо.

п.с. Странно, U+E744 я так же изначально добавлял к вашему шрифту, более ничего не меняя (насколько я помню), однако выложенный мною в архиве файл выдаёт озвученный мною глюк.
Ладно, теперь работает и это главное (разбираться с багом некогда). Ещё раз спасибо!

п.с.2 если мне не изменяет память - "свою" (глючную) версию MipGost.shx я получил путём модификации MipGost-test.shx с последующим его переименованием в MipGost.shx (возможно в этом какой-то затык и был).

Последний раз редактировалось hwd, 31.05.2010 в 15:21.
hwd вне форума  
 
Непрочитано 01.06.2010, 09:35 Странности с подчёркиванием шрифта ISOCPEUR
#187
cancercat

инженер-преподаватель ;-)
 
Регистрация: 14.10.2008
Санкт-Петербург
Сообщений: 1,999


Всем привет! Вопрос, может быть, немного не по теме, но именно эта тема наиболее часто посещаемая, поэтому пишу сюда.
Проблема в вышеуказанном шрифте. Точнее, в его подчёркивании. Если подчёркивается многострочный текст, то под пробелами появляются разрывы. При подчёркивании однострочного текста - всё нормально. Причём если в многострочном тексте взорвать даже одну строку, то она распадается на несколько однострочных примитивов по словам!!! Очень неудобно, да и на чертежах некрасиво выглядит. Файл прилагаю.
Кто знает, отчего возникает это проблема и как устраняется? Или для данного шрифта это неизлечимо? Если последнее, подскажите шрифт похожий, уж очень мне здесь начертание букв нравится. И никаких проблем с символами типа диаметра. Я уж не говорю о том, что в этом шрифте есть практически все символы, которые необходимы...
Вложения
Тип файла: dwg
DWG 2007
странный текст.dwg (72.0 Кб, 1200 просмотров)
cancercat вне форума  
 
Непрочитано 01.06.2010, 13:22
#188
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


cancercat, При угле наклона 0 текст подчеркивается нормально
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 01.06.2010, 13:30
#189
cancercat

инженер-преподаватель ;-)
 
Регистрация: 14.10.2008
Санкт-Петербург
Сообщений: 1,999


VVA, спасибо, что подметили, я раньше не обращал внимания. Однако, проблемы это не снимает, поскольку в чертежах все надписи под наклоном. И что делать со взорванным текстом? У меня таких порядочно, поскольку машина слабая, и очень тормозит Автокад.
В-общем, вопросы поста 187 остаются актуальными...
cancercat вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Добавление символов в шрифт

Размещение рекламы