Не прорисовываются символы в программируемом редакторе Windows

Статус
Закрыто для дальнейших ответов.

АлександрGlax

Участник
Топикстартер
Сообщения
22
Реакции
0
Не прорисовывается множество символов в программируемом редакторе Windows (стандартная компонента WPF RichTextBox). При работе с несколькими шрифтами (где нет OpenType Panel и Classes Panel символов) нет никаких проблем и все прорисовывается (например, сложный символ из множества линий с Юникодом $2665).

При работе со шрифтом, где есть OpenType Panel и Classes Panel символы, некоторые символы прорисовываются (например, j или 0), а много других не прорисовываются и например цельный символ, который выглядит, как (четыре подряд восклицательных знака) с Юникодом $227D.

Но символ в одном шрифте с кодом $2665 прорисовывается, и в другом шрифте по моему совершенно однотипный символ с кодом $227D не прорисовывается (разумеется в Word нет никаких подобных проблем), и я не вижу отличий с точки зрения их сравнения как они реализованы в FontLab...

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

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

За любые идеи и советы буду очень благодарен.

С ув. Александр
 
Последнее редактирование:

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Переведите, плз, кто-нибудь на человеческий язык 'hmmm''fp'
 

~RA~

Одарённая.
12 лет на форуме
Сообщения
11 808
Реакции
3 434

Не по теме:
На гуглоперевод похоже. '))'
 

АлександрGlax

Участник
Топикстартер
Сообщения
22
Реакции
0
Переведите, плз, кто-нибудь на человеческий язык 'hmmm''fp'

Извините я программист и обычно мыслю и выражаюсь в образах программного кода и программного обеспечения, и возможно для форума вероятно издательских работников и профессиональных верстальщиков не вполне понятен, к сожалению. Сорри.

если проще, попробую -- кто нибудь работал в разных пакетах или редакторских или типографских пакетах, и сталкивался с ситуацией что в одном фонты хорошо показываются, а в другом нет -- и что надо было для этого делать?

особая проблема для программиста -- профессиональные редакторы закрытые для разработчиков и там все обычно очень хорошо,

а открытые системы, которые к примеру предоставляет Microsoft для разработчиков -- уже не все так хорошо и встречаются серьезные проблемы, и нам их надо как то решать :)
 

andrejK

R.I.P.
Сообщения
10 300
Реакции
5 218

АлександрGlax

Участник
Топикстартер
Сообщения
22
Реакции
0
примеры бы привели
но мне кажется, я и привел примеры, в которых для тех кто знаком с редактором фонтов FontLab Studio, и сообщил информацию о шрифтах где есть проблемы и где нет, и указал информацию о символе с которым проблема и о написании его сообщил....
 

Fog_patch

12 лет на форуме
Сообщения
3 163
Реакции
998
@АлександрGlax, Для понимания проблемы я бы выложил принтскрины, а так же шрифты (если это не нарушает лицензии). Ну или дал бы название шрифта, дату и размер. Ворд может показывать корректно самые древние шрифты. А, к примеру, Inkscape в принципе не работает со старыми неюникодными шрифтами.
 

АлександрGlax

Участник
Топикстартер
Сообщения
22
Реакции
0
@АлександрGlax, Для понимания проблемы я бы выложил принтскрины, а так же шрифты (если это не нарушает лицензии). Ну или дал бы название шрифта, дату и размер. Ворд может показывать корректно самые древние шрифты. А, к примеру, Inkscape в принципе не работает со старыми неюникодными шрифтами.

Я могу объяснить на словах: в проблемном шрифте для символа с Юникодом $227D обычный символ - рисунок как "четыре подряд восклицательных знака, которые несколько сжаты" и Word хорошо воспроизводит, как и должно. А Microsoft Visual Studio 2015 (одна из самых свежих) WPF RichTextBox - лучшая компонента для форматированного текста (Word воспринимает), вместо того что надо рисует ">=" - вот такой угловой символ (больше равно, в один символ, как нас в первом классе вроде учили), вместо того что надо...

чтобы выложить шрифты в инет, мне надо спросить у правообладателя -- не уверен, что мне это разрешат, но я спрошу и собираюсь писать письмо, примерно в понедельник.
 
Последнее редактирование:

Gadalka

R.I.P.
Сообщения
2 530
Реакции
868
чтобы выложить шрифты в инет
Для начала, просто приведите примеры скриншотами. Начните с каких-нибудь стандартных шрифтов (которые поставляются вместе с Виндовс, например), только не забудьте указать версию и размер файла шрифта.
Вот если со стандартными шрифтами проблем нет, тогда надо разбираться со шрифтами. А если проблемы есть и со стандартными шрифтами, то проблемы где-то в компонентах (наверное).
 

АлександрGlax

Участник
Топикстартер
Сообщения
22
Реакции
0
Для начала, просто приведите примеры скриншотами. Начните с каких-нибудь стандартных шрифтов (которые поставляются вместе с Виндовс, например), только не забудьте указать версию и размер файла шрифта.
Вот если со стандартными шрифтами проблем нет, тогда надо разбираться со шрифтами. А если проблемы есть и со стандартными шрифтами, то проблемы где-то в компонентах (наверное).

Я по дружбе помогаю, и как появится свободное время я это постараюсь сделать - вероятно, в течении недели сделаю. В пятницу начальство озадачило дополнительной работой, а также нужно готовить к сдачи проект. Спасибо.
 

andrejK

R.I.P.
Сообщения
10 300
Реакции
5 218
а я всё равно ничо не понимаю.

символ юникода #227D - это SUCCEEDS OR EQUAL TO
не во всех шрифтах он вообще нарисован, но все юникодные программы его "прорисовывают".

какие-такие "четыре подряд восклицательные знака"?

uni.jpg
 

АлександрGlax

Участник
Топикстартер
Сообщения
22
Реакции
0
поместил на файлообменник

Пример изображения символа, который программно не воспроизводится

и символ в программе действительно показывается как "больше или равно" на Вашей картинке -- и это не правильно, а в глифе рисунок "четыре восклицательных знака" и Word их показывает, а Microsoft Visual Studio нет :( -- а с различными другими шрифтами проблем нет, и я несколько многобуквенных шрифтов целиком в программе просматривал и проблем не было, а с этим одним шрифтом какая то проблема и он сложнее: есть OpenType и Classes Panel символы, но символ 227D - обычный простой символ...
 
Последнее редактирование:

suntory

Administrator
15 лет на форуме
Сообщения
23 349
Реакции
12 401
и возможно для форума вероятно издательских работников и профессиональных верстальщиков не вполне понятен
Тут бывают и профессиональные шрифтовики, не каждый день правда.
какие-такие "четыре подряд восклицательные знака"?
Они просто нарисованы на месте SUCCEEDS OR EQUAL TO
JPEG можно прямо в пост вставлять, кнопка загрузить изображение или просто перетащить в редактор поста.
 

АлександрGlax

Участник
Топикстартер
Сообщения
22
Реакции
0
Проверил какой символ последний корректно в моей программе рисуется - $2219 (Bullet operator). Следующий символ $2272 (Less - Than Or Equivalent to) рисуется уже не правильно, но именно с этого символа и начинаются в шрифте замены на модифицированные глифы - рисунки, и символ $2272 изменен на "стилистический '0' (ноль)" и программа Microsoft Visual Studio уже не понимает...

а в другом шрифте многочисленные замены рисунков - глифов, и нет проблем... там программа все понимает...
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Я наконец то вкурил, в чем дело: вы нашли баг майкрософтовской косолапой компоненты и спешите с нами им поделиться!
Так тогда вы не по адресу совсем - вам нужно на форум начинающих программеров MSVC (а эти компоненты предназначены исключительно для них, ибо, во всех рофессиональных графических пакетах, даже индийских, стоят собственные мощные шрифтовые движки, часто напрямую завязанные на видеокарту) Ну или в лигу се... тьфу! службу поддержки майкрософт, возможно, к следующей версии MSVC годика через два отображение этого конкретного символа в своем компоненте пофиксят ;)
 

АлександрGlax

Участник
Топикстартер
Сообщения
22
Реакции
0
Всем большое спасибо. Проблема решена.

Подробности: осознал, что тогда программа не просто не рисовала какие то символы, а отказалась полностью признавать шрифт. То есть любой символ рисовала по умолчанию -- ну как Word если какой то символ в шрифте не признает, то самостоятельно переходит на какой то системный шрифт и таким псевдо образом его рисует.

Решение: Переименовал шрифт, убрал из названия и везде в общих настройках о шрифте всевозможные пробелы, скобки и т.д. И заработало ! Программа все правильно рисует, включая составные лигатуры.

# На Microsoft мне не имеет смысл катить - нам с ним жить, какой уж он есть :)

Не приятно конечно, что шрифты приходится переименовывать, но какое - никакое это решение, и с этим мне кажется, худо бедно можно будет жить, если возникнет в этом серьезная потребность :)
 
Последнее редактирование:

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Подробности: осознал, что тогда программа не просто не рисовала какие то символы, а отказалась полностью признавать шрифт.
Поправка - не программа отказывается признавать кривой шрифт, а система. Фактически, вы с майкрософтовским компонентом имеете доступ только к самой верхушке API и на то, что делается внутри него повлиять абсолютно не имеете никакой возможности.
Я, правда, не пойму сакральной необходимости использовать столь хитрые юникодные глифы и составные лигатуры в простецком компоненте, основное назначение которого - облегчить ленивым начинающим программистам отображение несложного форматированного фрагмента текста на экране.
 

АлександрGlax

Участник
Топикстартер
Сообщения
22
Реакции
0
Шрифт серьезный, собственно есть несколько подобных шрифтов. Для воспроизводства древних надписей, археологических надписей. Славянский регион, а также что то по шумерам и разным другим. Это не для ленивых специалистов, а для серьезных археологов и лингвистов, специализирующихся на древних текстах и языках. В этом шрифте порядка сформированных 3 тысяч символов, включая глифы - рисунки (в основном), а также и лигатуры. Шрифт разрабатывается с 1990 года, так что все серьезно.
 
Статус
Закрыто для дальнейших ответов.