Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562

Лист с текстом

16.04.2013, 06:44. Показов 1061. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Надо, чтоб была не просто рамка с текстом в окне, а лист бумаги с текстом, как в современных текстовых процессорах. Но если делать в текстовом процессоре, то придётся помучаться. Это описаловка сочиняемого в данный момент языка, возможно слегка эзотеричного, в нём некоторые операторы обозначаются не вполне обычно. Например, стрелка с плюсом над ней - единый символ, но на букву он не похож, а обозначает не звук и даже не слог, а понятие, значит это понятийный иероглиф, только не очень японский, в нём за раз сразу два глагола. В текстовых процессорах такого символа не знаю, а составить из двух будет не очень просто из-за того, что плюс поднят на 40% высоты шрифта и расположен не сбоку от стрелки, а прямо над стрелкой. В редакторах формул такого символа тоже нет, к тому же надо выделить операнды синим, а остальное оставить чёрным. А будет ещё стрелка, объединённая с дробной чертой с числителем x и знаменателем y. Здесь это тоже единый символ, содержащий два глагола и такого символа в текстовых процессорах и редакторах формул я тоже не знаю. Как и стрелки с минусом и стрелки со знаком умножения. По ссылке вложение в другой моей теме, содержащее прогу, выводящую имеющийся текст, пока очень не полный, завершена только первая страница. В этой проге пока есть только рамки с текстом, а надо, чтоб эти рамки стали границами листов. Как бы вы рисовали сами листы? Текст на них положить не проблема, нужны сами листы.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.04.2013, 06:44
Ответы с готовыми решениями:

Лист бумаги с текстом
Рамка на скрине - границы листа. Но надо, чтоб это выглядело, как лист с текстом, а пока это просто рамка с текстом в окне. Как сделать?...

На страничке в Фейсбуке только белый лист с текстом
Привет, дорогие форумчане! Очень надеюсь на вашу компетентную помощь в моей ситуации. Захожу на Фейсбук, а передо мной белый лист и...

В picturebox создать лист размерами A4 с текстом и вывести его на принтер
в picturebox необходимо создать лист размерами A4 с текстом и затем вывести его на принтер, если есть статьи как это сделать был бы...

7
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
16.04.2013, 09:23  [ТС]
Вот новый вариант со всеми с составными арифметическими операторами.
Вложения
Тип файла: rar aboutmmz.rar (374.8 Кб, 11 просмотров)
0
Исследователь
 Аватар для GrayWolf
318 / 317 / 24
Регистрация: 06.04.2011
Сообщений: 872
16.04.2013, 10:38
Я, возможно, неправильно понял поставленную задачу. Первая мысль, которая у меня возникла: а почему просто не создать шрифт с необходимыми символами? И печатайте/набирайте текст в любом текстовом редакторе. Заморочек, имхо, меньше
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
16.04.2013, 11:24  [ТС]
Больше. Во-первых просто создать его мало, надо ещё, чтоб его понимал текстовый процессор и одного копирожания файла шрифта оказывается мало. А во-вторых надо, чтоб, например, символ стрелки иксом и игреком и все следующие оказались по середине между двумя строками.

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

Добавлено через 1 минуту
Посмотрите там на второй странице, как должен выглядеть "/=" в --z.
0
Исследователь
 Аватар для GrayWolf
318 / 317 / 24
Регистрация: 06.04.2011
Сообщений: 872
16.04.2013, 11:53
Я, собственно, не настаиваю, но хочется все-таки поддержать свою мысль:

1) сдается мне, тут небольшое недопонимание: под файлом шрифта я подразумеваю ttf-файл, т.е. True Type Font.
2) Текстовому редактору вообще пофиг что выводить. Примером тому может служить, например, шрифт Wingdings. Ну или символы арабского языка. Всего этого нет в "основной" таблице
3) Да, простого копирования файла шрифта недостаточно для его использования. Тут все зависит от собственно способа использования. Если вы просто хотите "встроить" его в систему, то через контекстное меню просто делаете "Установить...", либо делаете это из программы. Если же есть желание использовать в своей программе без "встраивания" в ОС, то на это опять же есть свои функции.
4) Зачем настраивать ширину символа? Файл шрифта содержит несколько массивов символов, каждый из которых "отвечает" за определенный размер этих самых символов. Иначе говоря, есть ряд символьных массивов [а..я] размером 10 кеглей - это будет первый ряд, массив тех же символов, но размером 11 кеглей - другой ряд и т.д.
Тут вся "настройка ширины символа в шрифте" упирается практически в Ctrl+C - Ctrl+V с последующим масштабированием.
5) что мешает немного модифицировать такой, например, символ "÷"? Вы хотите, чтобы стрелка была между строк... Как пользователь поймет к какой строке относится xy со стрелкой - к первой или второй?

Добавлено через 7 минут
Кстати, в "сях" это реализовано вполне логично: -=, +=, *=, /= т.д.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
16.04.2013, 12:36  [ТС]
Цитата Сообщение от GrayWolf Посмотреть сообщение
1) сдается мне, тут небольшое недопонимание: под файлом шрифта я подразумеваю ttf-файл, т.е. True Type Font.
Ну я тоже не растр под этим понимаю.

Добавлено через 8 минут
Цитата Сообщение от GrayWolf Посмотреть сообщение
4) Зачем настраивать ширину символа? Файл шрифта содержит несколько массивов символов, каждый из которых "отвечает" за определенный размер этих самых символов.
Есть массивы символов, в каком то из них есть конкретный символ, есть линии этого символа, а есть его ширина, так вот одно с другим оказывается не связано и если шириной не заниматься, то каждый следующий символ будет выводиться или поверх предыдущего, или с фиксированным для данного шрифта отступом вправо, не зависимо от фактической ширины. Чтоб этого избежать, надо настроить ширину каждого символа в редакторе шрифта так, чтоб следующий символ начинался и не на предыдущем, и не слишком правее его. А ещё есть положение левой линии следующего символа от его "ноля". И если он выступает за ширину влево, то тоже налезет. При этом нельзя каждую правку сохранять и сразу тестить по F9, а надо удалять старый шрифт, потом ставить новый, набирать тестовый текст со множеством сочетаний символов друг с другом. А по отдельному глифу правильные границы символа практически не видны, оценивать надо в тексте. Нафиг мне вся эта путаница? Один раз поигрался, хватит.

Добавлено через 1 минуту
Цитата Сообщение от GrayWolf Посмотреть сообщение
Зачем настраивать ширину символа? Файл шрифта содержит несколько массивов символов, каждый из которых "отвечает" за определенный размер этих самых символов. Иначе говоря, есть ряд символьных массивов [а..я] размером 10 кеглей - это будет первый ряд, массив тех же символов, но размером 11 кеглей - другой ряд и т.д.
И это после
Цитата Сообщение от GrayWolf Посмотреть сообщение
сдается мне, тут небольшое недопонимание: под файлом шрифта я подразумеваю ttf-файл, т.е. True Type Font.
? Это ваще то растровая технология, а true type определяет глифы безотносительно размера.

Добавлено через 2 минуты
Цитата Сообщение от GrayWolf Посмотреть сообщение
Как пользователь поймет к какой строке относится xy со стрелкой - к первой или второй?
К обеим, посмотри у меня на второй странице. Только в право не крути, а то там глюк. если таблица коснётся левого края окна, то прога зависнет.
0
Исследователь
 Аватар для GrayWolf
318 / 317 / 24
Регистрация: 06.04.2011
Сообщений: 872
16.04.2013, 13:03
Цитата Сообщение от taras atavin Посмотреть сообщение
Это ваще то растровая технология, а true type определяет глифы безотносительно размера.
Попутал, каюсь Клинит уже в конце дня.
По идее, лист - это просто канва. Т.е., например, можно создать любой static-элемент и рисовать на нем что хочется.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
16.04.2013, 15:09  [ТС]
Цитата Сообщение от GrayWolf Посмотреть сообщение
По идее, лист - это просто канва. Т.е., например, можно создать любой static-элемент и рисовать на нем что хочется.
Нет. У меня нет класса TCancas, всё на GDI.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.04.2013, 15:09
Помогаю со студенческими работами здесь

Как создать новый лист в книге со ссылкой на предыдущий лист?
Добрый день. Есть реестр учета спецтехники. Его заполняет диспетчер каждый день. т.е. каждый день копирует форму на новый лист и потом...

Программа возвращающая лист папок и лист файлов по заданному пути
Сначала объявляем структуру возвращаемую функцией ref struct dirsfiles { array<DirectoryInfo^>^ list_dirs; ...

Libre Calc, выборочное заполнение ячеек в Лист 2 из Лист 1 по команде
Может кто поможет... Есть заранее сформированный список Людей и их данных (Лист 1), необходимо в Листе 2 реализовать автозаполнение ячеек...

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

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru