powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Unicode для кириллицы в нижнем/верхнем индексах
86 сообщений из 86, показаны все 4 страниц
Unicode для кириллицы в нижнем/верхнем индексах
    #40022173
Kos-2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброе время суток,
Такой вопрос:
Где бы найти Unicode для кириллицы в нижнем и в верхнем регистре?
Смотрел на https://unicode-table.com/ru/sets/superscript-and-subscript-letters/ но не нашел.

Хотя там и для латиницы
в верхнем индексе нет например (с учетом регистра) для для литеры «q, Q, Y, S, F, l, Z, X, C, V, N» (хотя «N» и есть, но она такого же размера как «n» маленькая)
и нижнем «q, Q, w, W, E, R, T, y, Y, U, I, O, P, A, S, d, D, f, F, g, G, H, j, J, K, L, z, Z, X, c, C, V, b, B, N, M»

может это не полный на сайте перечень?
для "q" - вообще какая-то мутная история

В Microsoft Word , было нашел комбинацию « Alt-X » при латинской раскладке, преобразующия символ в Unicode , но облом: для всех индексов (нижнего и верхнего как и для символа) там один и тот же код. Видимо MS Word, как-то внутри у себя обрабатывает верхний и нижний индексы.

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

Заранее спасибо за ответ.
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022175
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
begin
  var s:='йцукенгшщзхъфывапролджэячсмитьбю';

  for var i:=1 to length(s) do begin
    WriteLn(s[i],': ',ord(s[i]));
  end;

  ReadLn;
end.
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022176
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AnsiUpperCase сам прикрутишь.
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022234
Kos-2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
begin
  var s:='йцукенгшщзхъфывапролджэячсмитьбю';

  for var i:=1 to length(s) do begin
    WriteLn(s[i],': ',ord(s[i]));
  end;

  ReadLn;
end.



Да и как мне это поможет в отображении допустим нижнего/верхнего индекса ?
Не регистра, а индекса .
(например формула "Е=mc2" или "Uмин=2" "Uмакс = 5")

У меня в программе есть 2 кнопки: "нижний индекс" и "верхний индекс", когда они нажаты (конечно по очередно), я обрабатываю каждую букву и цифру введенную с клавиатуры
Вот как на картинке, я уже могу такое вводить
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022249
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kos-2010,

Никак, это не предусмотрено. Некоторые символы там есть, но не все. Если нужно больше - рисуй сам.
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022298
Kos-2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp
Kos-2010,
Если нужно больше - рисуй сам.

т.е.? каким образом? - это первый вопрос.

И стоит ли это "выдеденного яйца"? - это второй вопрос, если пользователь хочет в БД на FireBird в ячейке хранит например параметры устройства, в которых есть верхние и нижние индексы?

И третий вопрос: если по-другому, то как в БД можно хранить такого формата данные?
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022299
Kos-2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kos-2010
как в БД можно хранить такого формата данные?


Есть конечно вариант, сделать в БД поле типа blob , и хранить там вёрдовский файл с одной страницей, в котором будут написаны эти данные...
Но как-то это слишком...
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022301
asviridenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kos-2010,

RTF, HTML
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022302
Kos-2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asviridenkov
Kos-2010,

RTF
..
т.е. тот же MS Word, хотя это не очень красиво будет выглядеть.

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

таблица с blob`ами конечно должна быть отдельна от самих устройств. чтобы при запросе списка устройств не тянуть вместе с ним blob`ы.
с таким успехом можно вместо blob`ов использовать обычные файлы rtf которые будут храниться на сервере, т.е.работать как blob`ы. - ну это еще туда сюда.

но тут есть одна такая штука, если нужно будет распечатать список устройств с их тех.параметрами. то этот процесс может затянутся, по продолжительности в зависимости от кол-ва устройств, которые я захочу распечатать...
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022305
asviridenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kos-2010т.е. тот же MS Word, хотя это не очень красиво будет выглядеть.


нет

Kos-2010таблица с blob`ами конечно должна быть отдельна от самих устройств. чтобы при запросе списка устройств не тянуть вместе с ним blob`ы.


Если текст короткий то можно и varchar.

Kos-2010с таким успехом можно вместо blob`ов использовать обычные файлы rtf которые будут храниться на сервере, т.е.работать как blob`ы. - ну это еще туда сюда.


Можно, но смысл есть только при очень больших файлах.

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

Можно сформировать единый документ объединив описания.
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022307
Kos-2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asviridenkov
Kos-2010т.е. тот же MS Word, хотя это не очень красиво будет выглядеть.


нет


Поясните тогда пожалуйста, что это за RTF? и что вы имели в виду?
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022308
asviridenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kos-2010,

Обычный RTF. Показывается стандартный TRichEditor, ну или по вкусу.
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022309
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kos-2010если пользователь хочет в БД на FireBird в ячейке хранит например параметры устройства, в
которых есть верхние и нижние индексы?

То ты просто пойди к нему и задай простой вопрос "а как Вы будете это вводить с клавиатуры?"
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022312
Kos-2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asviridenkov

Обычный RTF. Показывается стандартный TRichEditor, ну или по вкусу.


типа нашел в сети примерчик, он отображает правильно формулу

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
uses
  RichEdit;
 
var
  CF: TCharFormat;
begin
  Richedit1.Text := 'E=mc2';
  RichEdit1.SelStart := 4;
  RichEdit1.SelLength := 1;
  CF.cbSize := SizeOf(CF);
  CF.dwMask := CFM_OFFSET;
  CF.yOffset := 40;  
  Richedit1.Perform(EM_SETCHARFORMAT, SCF_SELECTION, Integer(@CF));
 
end;


ну наверно я смогу по нажатию кнопок пользователем "верхний" и "нижний" индекс отрисовывать это все в компоненте "TRichEdit". Только этот код, тогда придется хранить в поле varchar, ну и конечно отрабатывать его при переходе с записи на запись.
Так?
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022313
Kos-2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov


То ты просто пойди к нему и задай простой вопрос "а как Вы будете это вводить с клавиатуры?"


наверное как в верде,
нажал кнопку "верхний регистр", вот тебе верхний регистр,
нажал кнопку "нижний регистр", вот тебе нижний регистр,

эх..хе..хе как-то blob в виду всего этого... смотрится все приятнее и приятнее
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022314
Kos-2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kos-2010

нажал кнопку "нижний регистр", вот тебе нижний регистр,


и в БД где-то хранить еще unicode символов к этой записи
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022315
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kos-2010наверное как в верде

Ну, удачи тебе в написании ворда.
https://en.wikipedia.org/wiki/Unicode_subscripts_and_superscripts
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022316
Kos-2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

Ну, удачи тебе в написании ворда.
https://en.wikipedia.org/wiki/Unicode_subscripts_and_superscripts

спасибо, но идея отпала, - не ко всем верхним/нижним индексам есть есть свой unicode
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022321
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Только помечать какими-нибудь особыми тегами и при отображении обрабатывать соотв-но
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022357
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИМХО проще html и THTMLViewer чем с RTF связываться.
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022359
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kos-2010,

Не очень ясен твой вопрос
Кириллица в юникоде имеет чёткий диапазон символов, легко найти в интернете

Как определить регистр символа?
Приводишь символ к верхнем регистру. Если они равны - значит буква заглавная. Иначе прописная.

Ещё существует кейс, когда символ нельзя привести к регистру. Например, цифры или знаки препинания, иероглифы.
Но в кириллице вроде таких нет.
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022362
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOU
Kos-2010,
Не очень ясен твой вопрос
Кириллица в юникоде имеет чёткий диапазон символов, легко найти в интернете

Попробуй прочитать тему внимательно. Ему нужен subscript / superscript, такие символы в юникоде тоже есть, но их набор сильно ограничен.
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022408
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kos-2010
Где бы найти Unicode для кириллицы в нижнем и в верхнем регистре?

ТС сам запутался и других запутал
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022413
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal
Kos-2010
Где бы найти Unicode для кириллицы в нижнем и в верхнем регистре?

ТС сам запутался и других запутал

Двумя сообщениями ниже даже картинка есть, очевидно что была опечатка.
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022424
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то вы какое-то тяжелое решение рассматриваете.

HTML <sub>....</sub>, <sup>....</sup> спасут отца русской демократии. Хранить в varchar поле, показывать стандартным WebBrowser (ну или HTMLViewer`ом).
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022431
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMaster,

RTF полегче HTML'а будет. Контрол для редактирования уже в поставке. Умеет отдавать, как PlainText, так и с разметкой.
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022435
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, вот прикольная штука для отображения текста с несложной разметкой.
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022447
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey
DarkMaster,
RTF полегче HTML'а будет. Контрол для редактирования уже в поставке. Умеет отдавать, как PlainText, так и с разметкой.

Только чтобы в него строку с разметкой загрузить нужны пляски с бубном.
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022452
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp
Только чтобы в него строку с разметкой загрузить нужны пляски с бубном.

В смысле, LoadFromStream это пляски с бубном?
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022456
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey
alekcvp
Только чтобы в него строку с разметкой загрузить нужны пляски с бубном.

В смысле, LoadFromStream это пляски с бубном?

Ага, сначала TStringStream, потом LoadFromStream - да, это пляски с бубном.
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022459
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

Так HTML и есть plaintext... А обрамить текст тегами - это задача для школьника.
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022464
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp
Ага, сначала TStringStream, потом LoadFromStream - да, это пляски с бубном.

Вообще, не обязательно стрингСтрим. И использование штатных механимов это не пляски с бубном.

DarkMaster
Так HTML и есть plaintext...

Нет, HTML это текст с разметкой. Как и RTF, кстати. PlainText это текст без разметки.
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022482
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey
Кстати, вот прикольная штука для отображения текста с несложной разметкой.

штука и вправду прикольная. Надо будет сорцы взять на заметку.

Уж не его ли typora использует?
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022486
Kos-2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMaster
Что-то вы какое-то тяжелое решение рассматриваете.

HTML <sub>....</sub>, <sup>....</sup> спасут отца русской демократии. Хранить в varchar поле, показывать стандартным WebBrowser (ну или HTMLViewer`ом).

- хорошо, корректно отображать <sub>....</sub>, <sup>....</sup> (например: Е=mc2) веббраузер сможет. но данную формулу например будет вводить пользователь (последовательно символ за символом) и я в таком случае, должен буду корректно отображать (т.е. сразу обрамлять вводимый текст в конкретные теги), то что он вводит в конкретном случае верхний/нижний индекс...

отсюда, я должен, каким-то бразом этот ввод корректно отображать параллельно с водом пользователя в окне веббраузера, т.е. окно веббраузера должно быть на переднем плане?. Или появился в Delphi какой-то компонент, работающий как веббраузер типа IntraWeb ?
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022488
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Kos-2010
DarkMaster
Что-то вы какое-то тяжелое решение рассматриваете.

HTML <sub>....</sub>, <sup>....</sup> спасут отца русской демократии. Хранить в varchar поле, показывать стандартным WebBrowser (ну или HTMLViewer`ом).

- хорошо, корректно отображать <sub>....</sub>, <sup>....</sup> (например: Е=mc2) веббраузер сможет. но данную формулу например будет вводить пользователь (последовательно символ за символом) и я в таком случае, должен буду корректно отображать (т.е. сразу обрамлять вводимый текст в конкретные теги), то что он вводит в конкретном случае верхний/нижний индекс...

отсюда, я должен, каким-то бразом этот ввод корректно отображать параллельно с водом пользователя в окне веббраузера, т.е. окно веббраузера должно быть на переднем плане?. Или появился в Delphi какой-то компонент, работающий как веббраузер типа IntraWeb ?


IntraWeb не работает, как браузер
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022489
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док
Уж не его ли typora использует?

Шутишь что ли? Typora это жирный электрон.
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022493
asviridenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kos-2010,

компонент есть, который и отображает и вводит и печатает, и браузер не нужен. Но платный.
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022494
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
asviridenkov
Kos-2010,

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

причём много-много платный
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022495
asviridenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecator,

до конца месяца он на 25% менее платный по коду BF2020
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022507
Kos-2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нашел какую-то " HTML Display Components " - посмотрим...
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022514
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kos-2010
нашел какую-то " HTML Display Components " - посмотрим...

Там оно мёртвое. Вот оно живое: https://github.com/BerndGabriel/HtmlViewer
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022525
asviridenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

Оно все мертвое кроме самизнаетечего.
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022528
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
asviridenkov
Kazantsev Alexey,

Оно все мертвое кроме самизнаетечего.

о да, конечно-конечно

это мёртвое живее всех живых
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022550
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asviridenkov
Оно все мертвое кроме самизнаетечего.

Кромесамизнаетечто .
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022566
asviridenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

Ну ты ссылку на HTML не привел, так что разговор ни о чем. Наверное да, в теории можно найти файл который HCL будет показывать хуже. Но 98% файлов из реального мира, она будет отображать лучше. Да и вообще их возможности смешно сравнивать, это как самокат и автомобиль. Что HtmlViewer что остальные поделки от TMS и.т.д это псевдо-HTML. HCL это единственная библиотека которая умеет отображать на уровне близком к браузерам, и де-факто стандарт в этой области.
Собственно https://jonlennartaasenden.wordpress.com/2020/11/25/htmlcomponents-for-delphi-a-closer-look/
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022571
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
всё, что есть полезного в HCL - это редактор, остальное полный шлак
После отключения поддержки DIHLMLEditor в винде больше ничего нет

редактор из HCL на сегодняшний день единственное, что есть
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022572
asviridenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecator,

"Ваше мнение очень важно для нас" (с)
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022574
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
asviridenkov
defecator,

"Ваше мнение очень важно для нас" (с)

это радует
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022576
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asviridenkov,

Ну я же не багрепорт тебе пишу. В том файле достаточно много чувствительной информации, вычищать которую мне просто не очень хочется. И это самый обычный файл из реальной жизни, мне и в голову бы не пришло специально искать какие-то документы, которые криво рендерит HCL. Попробовал первое, что попалось под руку. Ровно так, как было и с вордовскими документами, о которых я писал немного ранее, по ссылке. Кстати, тот скриншот это далеко не все приколы, которые вылезли. Там половина документа вообще не отобразилась. По совпадению, отображение закончилось на месте, где начались таблицы. Так что, говорить и писать можно всё что угодно, но критерием истины была и остаётся практика. Если тебе интересно, тот файл был получен из markdown с помощью pandoc.
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022594
asviridenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

именно что практика. А учитывая что у библиотеки тысячи довольных пользователей которые прогнали на ней уже наверное миллионы документов, за практику я спокоен.
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022596
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asviridenkov,

Ну и чудненько.
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40022605
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkMaster
Что-то вы какое-то тяжелое решение рассматриваете.

HTML <sub>....</sub>, <sup>....</sup> спасут отца русской демократии. Хранить в varchar поле, показывать стандартным WebBrowser (ну или HTMLViewer`ом).

Собственно, несколькими постами выше твоего я именно это и предложил.

RTF, кстати, вовсе не бинарный формат, и EM_SETTEXTEX никто не отменял (это к вопросу о стримах и блобах)
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40024426
Kos-2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey
Kos-2010
нашел какую-то " HTML Display Components " - посмотрим...

Там оно мёртвое. Вот оно живое: https://github.com/BerndGabriel/HtmlViewer


Воспользовался компонентом HtmlViewer .
В общем-то получилось довольно не плохо ( рис.1 ), учитывая что в базе будет хранится строка ( рис.3 ).+ввод всяких бета и, альфа и т.д.

Затея такая, чтобы пользователь видел только окна рис.1 и рис.2 (без тегов).
В окне рис.2 он редактирует запись. В окне рис.1 он ее смотрит как получилось.

А кнопки " Верх.инд. " и " Нижн.инд. " вместе с окном рис.2 фирмируют строку в окне рис.3 ( с тегами ), т.е. п нажатию кнопок вставляются теги верхнего и нжнего индекса.

Только вопрос, как легче формировать текст в окне 3?
В лоб, т.е. вводишь текст, потом нажимаешь например " верхн.инд " и открывается " <sup> ", отжимаешь кнопку и вставляется " </sup> " ну и т.д.
или есть более легкий вариант?
Я пока не рассматриваю вариант, чтоб в окне 2, были видны теги,
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40024431
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kos-2010,

А не проще было взять RichEdit и не искать себе приключений?
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40024474
Kos-2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey
Kos-2010,

А не проще было взять RichEdit и не искать себе приключений?


1. Если это касается базы данных ( FireBird 3 ), то в таком случае мне нужно хранить текст " RTF " в каком-либо другом поле. и подгружать его в RichEdit при выборе каждой строки - правильно?

2. Я вывожу данные базы в MS Word , (ну как обычно через " CreateOleObject('Word.Application'); ").
Вопрос: у меня получится в данном случае вывести данные корректно, т.е. с индексами?

P.S.
просто при использовании HtmlViewer1
Код: pascal
1.
FMain.HtmlViewer1.CopyToClipboard;


выводе в MS Word , индексы в MS Word превратились в обычные (т.е. нормального размера).
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40024479
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kos-2010

1. Если это касается базы данных ( FireBird 3 ), то в таком случае мне нужно хранить текст " RTF " в каком-либо другом поле. и подгружать его в RichEdit при выборе каждой строки - правильно?

2. Я вывожу данные базы в MS Word , (ну как обычно через " CreateOleObject('Word.Application'); ").
Вопрос: у меня получится в данном случае вывести данные корректно, т.е. с индексами?

P.S.
просто при использовании HtmlViewer1
Код: pascal
1.
FMain.HtmlViewer1.CopyToClipboard;


выводе в MS Word , индексы в MS Word превратились в обычные (т.е. нормального размера).


1. Хранение RTF ничем не отличается от хранения HTML. Внезапно, это тоже текстовый формат.
2. С richedit как раз не должно быть проблем
3. Значит, HtmlViewer копирует только текст либо не доработан. Но это поправимо, проект более-менее живой, можно попросить добавить фичу или попробовать самому исправить
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40024485
Kos-2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal

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

скорее всего что-то у меня не правильно работает. (несколько лет пользовался одним и тем же кодом, проблем не было. кстатити с unicode верхних и нижних индексов тоже проблем нет).
при обычном копировании " CTRL-C " " CTRL-V " из HtmlViewer (в запущенной программе) в MS Word - все замечательно переносится (я имею в виду размер индексов)
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40024520
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

Всё бы ничего, но дельфовый RichEdit уже научился в \urtf или до сих пор каждую не ASCII букву кодирует как #XXXX; ?
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40024548
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp,

А не всё ли равно?
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40024579
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kos-2010
скорее всего что-то у меня не правильно работает. (несколько лет пользовался одним и тем же кодом, проблем не было. кстатити с unicode верхних и нижних индексов тоже проблем нет).
при обычном копировании " CTRL-C " " CTRL-V " из HtmlViewer (в запущенной программе) в MS Word - все замечательно переносится (я имею в виду размер индексов)

Там всего две процедуры - CopyToClipboardAsText и CopyToClipboardAsHtml. И они просто загоняют текстовое представление с соответствующим типом данных в буфере обмена. Возможно, в твоем случае почему-то вызвался CopyToClipboardAsText
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40024634
Kos-2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal

Там всего две процедуры - CopyToClipboardAsText и CopyToClipboardAsHtml. И они просто загоняют текстовое представление с соответствующим типом данных в буфере обмена. Возможно, в твоем случае почему-то вызвался CopyToClipboardAsText


Я имел в виду компонент HtmlViewer , там всего одна CopyToClipboard
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40024639
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kos-2010
там всего одна CopyToClipboard

Этот метод копирует в буфер сразу в двух форматах: в plaintext и html.
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40024643
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40024660
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey
alekcvp,
А не всё ли равно?

Зависит от.
Представь что у тебя в базе Firebird поле Varchar UTF8, а ты туда хочешь RTF загнать. У тебя в базе на 1 символ 4 байта уходит, ещё в RTF 5 - итого 20 байт на один символ, не дохрена ли?..
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40024666
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp
У тебя в базе на 1 символ 4 байта уходит,

С чего 4, если там UTF-8? Один байт на ascii символ там будет.
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40024667
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
04.12.2020 15:16, alekcvp пишет:
> У тебя в базе на 1 символ 4 байта уходит

в общем случае это не так.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40024764
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpУ тебя в базе на 1 символ 4 байта уходит, ещё в RTF 5 - итого 20 байт на один символ
utf8 по факту не 4 а 3 байта, причем не 3, а "от одного до трех", т.к. формат плавающий.
И, в rtf не может быть 5 байт на символ. По крайней мере я в это не верю.
с rtf другая проблема - там много лишней фигни, и слово "абракадабра" сохраненное в rtf дает файл размером 31 килобайт, с перечислением всяких шрифтов и прочей мутотой.
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40024766
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
с rtf другая проблема - там много лишней фигни, и слово "абракадабра" сохраненное в rtf дает файл размером 31 килобайт, с перечислением всяких шрифтов и прочей мутотой.


Код: plaintext
1.
2.
{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset204 Tahoma;}{\f1\fnil\fcharset0 Tahoma;}}
\viewkind4\uc1\pard\lang1049\f0\fs28\'e0\'e1\'f0\'e0\'ea\'e0\'e4\'e0\'e1\'f0\'e0\lang1033\f1\par
}

210 байт.
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40024767
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey'e0\'e1\
в этом смысле - да, был неправ, согласен, это не бинарный формат.
С другой стороны, нифига же не "5 байт на символ".
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40024770
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
С другой стороны, нифига же не "5 байт на символ".

Всё за пределами ASCII ескейпится. Там может быть и больше 5 байтов на символ. Латиница по одному байту.
Текст>>ASCII<<
>>中文<<
>>абракадабра<<

RTF:
Код: plaintext
1.
2.
3.
4.
{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Tahoma;}{\f1\fmodern\fprq6\fcharset134 SimSun;}{\f2\fnil\fcharset204 Tahoma;}}
\viewkind4\uc1\pard\f0\fs28 >>ASCII<<\par
>>\f1\'d6\'d0\'ce\'c4\f0 <<\par
>>\lang1049\f2\'e0\'e1\'f0\'e0\'ea\'e0\'e4\'e0\'e1\'f0\'e0\lang1033\f0 <<\par
}

306 байт.
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40024771
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
С другой стороны, нифига же не "5 байт на символ".

Да, ошибся, 4.
kdvutf8 по факту не 4 а 3 байта, причем не 3, а "от одного до трех", т.к. формат плавающий.
Какая в таблице Firebird максимальная длина поля VARCHAR UTF8? Без блоб.
В байтах и в символах.
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40024776
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpКакая в таблице Firebird максимальная длина поля VARCHAR UTF8? Без блоб.
В байтах и в символах.
да что ж такое... Да, у utf8 максимально 4 байта на символ, и это записано в системных таблицах Firebird.
И макс длина строки 32к, следовательно, 32/4 = 8к символов. Но это по максимуму, теоретическому.
Ограничение, специально чтобы "на всякий случай" ничего не вылезло.
Но utf8 на символ хранит ПЕРЕМЕННОЕ КОЛИЧЕСТВО БАЙТ.
Например, все русские буквы хранятся по 2 байта на символ. Не по 4, и не по 3, а по 2 байта.
А латинские - вообще одним байтом.

UTF-8, по сравнению с UTF-16, наибольший выигрыш в компактности даёт для текстов на латинице, поскольку латинские буквы без диакритических знаков, цифры и наиболее распространённые знаки препинания кодируются в UTF-8 лишь одним байтом, и коды этих символов соответствуют их кодам в ASCII.[4][5]
https://ru.wikipedia.org/wiki/UTF-8


alekcvpДа, ошибся, 4.
вы что считаете-то. текстовое представление кодов символов? Вам ведь уже показали, что
абракадабра это \'e0\'e1\'f0\'e0\'ea\'e0\'e4\'e0\'e1\'f0\'e0\
И тут даже не utf8, а однобайтовое кодирование.

Впрочем, пофиг. Вся эта rtf-шлабуда будет сохранена в utf8 как 1 байт на символ (см. выше). Так что сильно беспокоиться не о чем.
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40024784
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
И макс длина строки 32к, следовательно, 32/4 = 8к символов. Но это по максимуму, теоретическому.
Ограничение, специально чтобы "на всякий случай" ничего не вылезло.
Но utf8 на символ хранит ПЕРЕМЕННОЕ КОЛИЧЕСТВО БАЙТ.
Например, все русские буквы хранятся по 2 байта на символ. Не по 4, и не по 3, а по 2 байта.
А латинские - вообще одним байтом.

Да какая разница как оно там внутре хранится, если в базу влезает только из расчёта 4 байта на символ?
То что оно переменной длины - хорошо для каналов передачи данных, а на хранение, в случае БД, не влияет никак.
kdv
абракадабра это \'e0\'e1\'f0\'e0\'ea\'e0\'e4\'e0\'e1\'f0\'e0\
И тут даже не utf8, а однобайтовое кодирование.

Ок, в "абракадабр" 10 символов. Сколько таких абракадабр можно сохранить максимально в одном поле VARCHAR с кодировкой UTF8 в формате RTF?
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40024786
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
kdv,

а если в BLOB хранить, то вообще пофигу, сколько там чего на символ
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40024787
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev AlexeyВсё за пределами ASCII ескейпится.

Может, но не обязано. "Голые" байты распознаются в соответствии с указанными в заголовке
атрибутами "\ansi\ansicpg1252".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40024795
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Это в расширенных версиях формата. В первой версии файл должен cоcтоять строго из 7-битных символов.
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40024804
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpСколько таких абракадабр можно сохранить максимально в одном поле VARCHAR с кодировкой UTF8 в формате RTF?
лимит размера строки определяется по максимуму, а не потому, что там хранится.
Если строка, и utf8, значит максимум 8к символов. Но это не значит, что она будет столько занимать на диске.
alekcvpДа какая разница как оно там внутре хранится, если в базу влезает только из расчёта 4 байта на символ?
тут не поспоришь. Только получается 4+3 "на символ", а не 4+5 :-)

да, и значит эту ртф-хрень в varchar однозначно хранить не надо, а надо хранить в бинарном блобе, где всё будет чётко.
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40024810
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp
Ок, в "абракадабр" 10 символов. Сколько таких абракадабр можно сохранить максимально в одном поле VARCHAR с кодировкой UTF8 в формате RTF?

202 "абракадабр". Размер RTF: 8191 байт (или ascii символов)
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40024812
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv

alekcvpДа какая разница как оно там внутре хранится, если в базу влезает только из расчёта 4 байта на символ?

тут не поспоришь. Только получается 4+3 "на символ", а не 4+5 :-)

"\'e3" - 4 символа, т.е. уже 4+4.
Юникод вне диапазона ANSI в RTF хранится как "ᚗ?" - это уже 7 байт на символ.

Но да, для RTF лучше делать поля none или ascii. Но HTML всё равно экономнее.

Вообще RTF какой-то странный формат. Такое ощущение что пытались сделать что-то типа TeX, чтобы его мог редактировать человек, но не срослось. Иначе я не понимаю смысла этих огромных тегов на каждый чих, если можно было сделать простые управляющие коды из ASCII-диапазона и использовать их только там, где они реально необходимы (как в HTML).
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40024818
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Зачем rtf пихать в utf8 поле? Сделать его ansi/octet и иметь свои законные 32 кб
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40024825
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Fr0sT-Brutal
Зачем rtf пихать в utf8 поле? Сделать его ansi/octet и иметь свои законные 32 кб


зачем вообще пихать rtf в текстовые поля, если есть прекрасный Blob ?
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40024832
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecator
Fr0sT-Brutal
Зачем rtf пихать в utf8 поле? Сделать его ansi/octet и иметь свои законные 32 кб
зачем вообще пихать rtf в текстовые поля, если есть прекрасный Blob ?

А если хочется несколько коротких полей (по ~100 символов) с красивым текстом с форматированием - под каждый блоб делать?..
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40024833
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
alekcvp
defecator
пропущено...
зачем вообще пихать rtf в текстовые поля, если есть прекрасный Blob ?

А если хочется несколько коротких полей (по ~100 символов) с красивым текстом с форматированием - под каждый блоб делать?..


Эммм...а красиво должно быть именно в поле, или всё-таки на дисплее пользователя ?
да и нормализацию никто не отменял

ПыСы. Вот в Оракле есть такой замечательный тип CLOB - вроде и Blob, но работаешь с ним, как со строкой
Только неограниченного размера
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40024983
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
defecator
зачем вообще пихать rtf в текстовые поля, если есть прекрасный Blob ?

Раундтрипы и доп.действия
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40024985
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Fr0sT-Brutal
defecator
зачем вообще пихать rtf в текстовые поля, если есть прекрасный Blob ?

Раундтрипы и доп.действия

о боже, как всё сложно
...
Рейтинг: 0 / 0
Unicode для кириллицы в нижнем/верхнем индексах
    #40025157
vavan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal
Раундтрипы
если лобы небольшие (примерно до 4к) то их можно заинлайнить в основную строку
...
Рейтинг: 0 / 0
86 сообщений из 86, показаны все 4 страниц
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Unicode для кириллицы в нижнем/верхнем индексах
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]