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

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

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835

АлександрGlax

Участник
Топикстартер
Сообщения
22
Реакции
0
Я еще не вполне владею темой. Полагал, что Windows компонента WPF RichTextBox + C# / VB.NET Excel / Word components - GemBox - это лучшее что мне доступно. Мне нужно полностью воспроизводить Word текст, со шрифтами и оформлением, и перехватывать - контролировать все ключевые события, например, вставку, удаление текста. Разве GDI мне это сможет обеспечить?
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
полностью воспроизводить Word текст
Разумеется, не сможет.
Rich Text Format и Word - две огромные разницы, у офиса свой собственный движок, а RTF - чертовски упрощенная его часть.
А через GDI вам придется повторять офисный движок с нуля, не имея даже задокументированных спецификаций. Это дохлое дело на самом стартовом этапе
 

_MBK_

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

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
  • GNU/Linux and other free Unix operating system derivates like FreeBSD or NetBSD;
  • iOS, Apple's mobile operating system for iPhones and iPads;
  • Android, Google's operating system for smartphones and tablet computers;
  • ChromeOS, Google's operating system for laptop computers;
  • ReactOS, a free open source operating system based on the best design principles found in the Windows NT architecture;
  • Ghostscript, a PostScript interpreter used in many printers.
Гм, а под винду порта нет, получается? 'hmmm'
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Внезапно, полезная штука, кстати!
 

АлександрGlax

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

Да, спасибо, Это весьма интересно.

How to install python freetype in windows 7

У меня еще одна задача - проблема, которой озадачен.

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

Сейчас я могу это делать с помощью Windows messages, но при этом методе на обработку одной буквы уходит 2 - 3 секунды, т.е. для обработки серьезного по объему текста, этот метод не подходит.

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

Возможность FreeType тоже на досуге поизучаю.

Спасибо
 

АлександрGlax

Участник
Топикстартер
Сообщения
22
Реакции
0
Вы ж хотите

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

Это работа во время досуга и свободного времени. Так что мои возможности ограничены, у меня нет возможности конкурировать с Microsoft Word, а возможность написать набор полезных утилиток для друзей -- потенциально есть.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
у меня нет возможности конкурировать с Microsoft Word
Ну тогда не стоит сразу замахиваться на столь глобальные задачи
полностью воспроизводить Word текст, со шрифтами и оформлением, и перехватывать - контролировать все ключевые события, например, вставку, удаление текста.
А вот это, честно говоря, снова не понял
при этом для каждого символа надо отождествить его шрифт
Откуда берется текст и с какими шрифтами каждый символ надо отождествить? '%)'
 

АлександрGlax

Участник
Топикстартер
Сообщения
22
Реакции
0
Ну тогда не стоит сразу замахиваться на столь глобальные задачи
А вот это, честно говоря, снова не понял

это мы оставим за скобкой - извините, у меня ограничено время.

Откуда берется текст и с какими шрифтами каждый символ надо отождествить? '%)'

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

А лирику - что, зачем, для кого, какие высокие цели -- давайте оставим, извините.

Задача сформулирована, проблема описана - это и суть. Ну одна из тем в этом топике.

Удачи!
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
это не важно откуда текст (предположим с *.doc документа считан), важно то что текст есть в формате Word (RTF) и его надо обработать - естественно речь идет о тех шрифтах, -- к каждой букве в тексте так или иначе привязан шрифт, вот именно этот шрифт и надо отождествить.
Гм, ну вы же сами говорите, что шрифт уже привязан, зачем его "отождествлять"?
Или вы хотите в своей программе, имея на входе кусок текста RTF формате, определить шрифт N-го символа?
Вам тогда надо найти какой нибудь фрисорсный парсер RTF, принцип там простецкий - текст поделен на группы символов и каждой группе присвоен какой то стиль со своим шрифтом и форматированием. И уж совсем не пойму каким именно головоломным алгоритмом у вас получается "2-3 секунды на символ"
Проще тогда уж не морочиться со своей программой, а через какое нибудь OLE обращаться к готовому вордовскому API, которое при всей своей неуклюжести вам искомое мгновенно вернет.
 

АлександрGlax

Участник
Топикстартер
Сообщения
22
Реакции
0
Или вы хотите в своей программе, имея на входе кусок текста RTF формате, определить шрифт N-го символа?\
Да

Вам тогда надо найти какой нибудь фрисорсный парсер RTF, принцип там простецкий - текст поделен на группы символов и каждой группе присвоен какой то стиль со своим шрифтом и форматированием.

Если можете посоветовать - сообщите, буду благодарен. Лучше с программным кодом, но и без кода может подойти если быстро работать будет.


И уж совсем не пойму каким именно головоломным алгоритмом у вас получается "2-3 секунды на символ"

Если это не ваша тема, то зачем вам это?

Здесь строчка из моего программного кода, далее сможете через инет вытащить подробности и комментарий:

RicherTextBox1.SendMessage(new HandleRef(this, ContentBox.Handle), RicherTextBox1.EM_GETCHARFORMAT,
RicherTextBox1.SCF_SELECTION, ref fmt);

(секунды набегают, потому что надо чтобы перед этим Event выделения символа отработал, вот в сумме и получается 2 - 3 секунды, в среднем -- информация по логу)

Проще тогда уж не морочиться со своей программой, а через какое нибудь OLE обращаться к готовому вордовскому API, которое при всей своей неуклюжести вам искомое мгновенно вернет

Предполагаю тоже, что есть. В WinForm не нашел, если в WPF компоненте есть объект Document - то вероятно получится его раскрутить, где то я встречал объект Document рядом с RichTextBox. Может библиотека GemBox поможет, или что то другое в интернете найдем. Мне не кажется, что это будет так уж сложно.
 

TRANTOR

Son of a Gun
R.I.P.
Сообщения
4 566
Реакции
2 956
Как обработать значительный объем текста, при этом для каждого символа надо отождествить его шрифт.
Код:
    typedef struct MyStringWithFont
    {
        std::string str;
        std::string font;
    }    MyStringWithFont;

    std::vector<MyStringWithFont> MyVector(1);

    MyVector[0].font = { "Font Name" };
    MyVector[0].str = { "Symbol or text" };
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
АААААААААААААААААААААААААА!!!!!!!!!!!!!!!!!!!!!!!!11111111111111111111111111
До меня только дошло, что вы этот ужас пытаетесь, вдобавок, на шарпе писать! 'fp''otbline'
Тогда неудивительно что такие тормоза
 

АлександрGlax

Участник
Топикстартер
Сообщения
22
Реакции
0
АААААААААААААААААААААААААА!..!!!11111111111111111111111111
До меня только дошло, что вы этот ужас пытаетесь, вдобавок, на шарпе писать! 'fp''otbline'
Тогда неудивительно что такие тормоза

А какая разница? При необходимости легко вставляю коды на "С" и много пишу на "С". В чем проблема?

И так уж тормоза ? :) Темой занимаюсь около недели примерно :)
 
Статус
Закрыто для дальнейших ответов.