Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2020, 21:47   #1
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию Unicode для кириллицы в нижнем/верхнем индексах

Доброе время суток,
Такой вопрос:
Где бы найти Unicode для кириллицы в нижнем и в верхнем регистре?
Смотрел на https://unicode-table.com/ru/sets/su...cript-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, как-то внутри у себя обрабатывает верхний и нижний индексы.

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

У меня в программе есть 2 кнопки: "нижний индекс" и "верхний индекс", когда они нажаты (конечно по очередно), я обрабатываю каждую букву и цифру введенную с клавиатуры
Вот как на картинке, я уже могу такое вводить


Заранее спасибо за ответ.
Изображения
Тип файла: png Untitled.png (2.4 Кб, 35 просмотров)
KBO вне форума Ответить с цитированием
Старый 26.11.2020, 00:33   #2
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Вы попутали индекс с регистром.
Буквы в верхнем и нижнем регистре это АБВГД..Я, абвгд...я
А верхний и нижней индекс это <sup>Текст</sup> и <sub>Текст</sub>.

Существует несколько подходов для решения последней есть готовые библиотеки. Latex на pascale можно самому рассчитать размер букв и их положение и вывести.

http://www.delphikingdom.com/asp/vie...?catalogid=718
Усовершенствованная версия
https://github.com/DmitriyKornilov/LazExprDraw
Упрощённый компонент
http://www.delphikingdom.com/asp/vie...?catalogid=695
Браузер с поддержкой sub sup и прочего написан на Delphi
https://github.com/BerndGabriel/HtmlViewer

JS библиотека для трансляции LaTeX в HTML
https://github.com/KaTeX/KaTeX
Пример для Delphi
https://infostart.ru/public/305051/

Можно ещё через SVG выводить.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Старый 26.11.2020, 00:51   #3
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию

Цитата:
Сообщение от Pavia Посмотреть сообщение
Вы попутали индекс с регистром.
да я конечно же имел в виду индекс вы правы.

- Скажите, а вот предложенные вами варианты, позвоялют хранить такие данные в базе? конкретнее БД на FireBird. Ща буду смотреть.
- И еще вопрос, эти библиотеки, позволяют такие данные выводить в MS Word?

Последний раз редактировалось KBO; 26.11.2020 в 01:01.
KBO вне форума Ответить с цитированием
Старый 04.12.2020, 02:08   #4
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию

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

А кнопки "Верх.инд." и "Нижн.инд." вместе с окном рис.2 фирмируют строку в окне рис.3 (с тегами), т.е. п нажатию кнопок вставляются теги верхнего и нжнего индекса.
Только вопрос, как легче формировать текст в окне 3?
В лоб, т.е. вводишь текст, потом нажимаешь например "верхн.инд" и открывается "<sup>", отжимаешь кнопку и вставляется "</sup>" ну и т.д.
или есть более легкий вариант?
Я пока не рассматриваю вариант, чтоб в окне 2, были видны теги,
Изображения
Тип файла: png Untitled.png (6.8 Кб, 24 просмотров)

Последний раз редактировалось KBO; 04.12.2020 в 02:11.
KBO вне форума Ответить с цитированием
Старый 04.12.2020, 02:54   #5
Дайк
Новичок
Пользователь
 
Регистрация: 03.12.2020
Сообщений: 12
По умолчанию

Вообще, уважаемые - в программисткой среде говорят:
"Буква строчная" или "Прописная".
(нет больших, маленких, заглавных и т.п.)
Дайк вне форума Ответить с цитированием
Старый 04.12.2020, 10:37   #6
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию

Цитата:
Сообщение от Дайк Посмотреть сообщение
Вообще, уважаемые - в программисткой среде говорят:
"Буква строчная" или "Прописная".
(нет больших, маленких, заглавных и т.п.)
Я имел в виду не пропсные буквы, а индексы, т.е. например
верхний индекс: степень квадрат, куб...
нижний индекс: например в химической формуле
Изображения
Тип файла: png 06_11.png (43.7 Кб, 0 просмотров)
KBO вне форума Ответить с цитированием
Старый 04.12.2020, 15:32   #7
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Цитата:
В лоб, т.е. вводишь текст, потом нажимаешь например "верхн.инд" и открывается "<sup>", отжимаешь кнопку и вставляется "</sup>" ну и т.д.
или есть более легкий вариант?
выделяешь текст ...123... нажимаешь и отпускаешь (без фиксации)
выделенный текст заменяется ...<sup>123</sup>... обрамляется сразу с двух сторон.

???
нажатие (фиксация) сохраняется до выхода курсора ввода с поля индекса.
и обратно нажатие(фиксация) автоматически выполняется при входе курсора на индекс.
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 04.12.2020 в 15:38.
evg_m на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти минимальный оборот в таблице и разницу в индексах drcaligari Общие вопросы C/C++ 0 05.02.2017 17:29
Не работает LowerCase для кириллицы Dux Общие вопросы Delphi 3 11.08.2015 17:37
Макрос для выделения кириллицы в Word inspirer161 Microsoft Office Word 12 15.02.2015 19:46
компонент Edit Ввод только русских и латинских букв (в верхнем и нижнем регистре) / C++ Builder C++++ Помощь студентам 6 23.11.2014 00:22
Программа для создания .chm и с понимание кириллицы Never74 Общие вопросы Delphi 2 07.11.2011 14:53