Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
75 / 36 / 1
Регистрация: 03.08.2012
Сообщений: 447

Не работает свой шрифт в проекте

18.08.2012, 11:26. Показов 3778. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
При активации формы пишу код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void __fastcall TForm_Reg::FormActivate(TObject *Sender)
{
 
int b = AddFontResourceEx("Retro.ttf", FR_PRIVATE, NULL);
 
        if (b!=0)
        {
        SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0); // ñîîáùèòü î øðèôòå
        AnsiString b = "Retro";
        Label3->Font->Name=b;
        }
 
}
Фонт лейбла не меняется на мой, который установлен в корень с проектом. Он ставится на стандартный виндосавский. Как быть? Что здесь не верно?

Добавлено через 11 часов 3 минуты
Подскажите пожалуйста как быть?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.08.2012, 11:26
Ответы с готовыми решениями:

Свой шрифт в консоли
Здравствуйте. Предположим у меня есть ttf файл с неким шрифтом. Как подключить это шрифт, чтобы с текст в консольном оне выводился с...

Как использовать свой шрифт?
К примеру у меня есть шрифт example.ttf , нужно его как-то загрузить в программу. Я использовал SetFontName('example.ttf') но ничего не...

Как использовать свой шрифт?
Необходимо поместить в андроид устройство свой шрифт! Как это сделать и как его использовать? И еще вопрос - можно ли каким кодом...

24
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
18.08.2012, 11:55
Ты уверен, что имя твоего фонта именно Retro?
Имей в виду, что имя фонта совершенно не обязано совпадать с именем файла-носителя.
Узнать это имя можно напустив на него что-то вроде FontLab

Меня давно мучает проблема - как установить фонт из конкретного файла.
До сих пор ответа нигде не нашел.

С интересом буду следить за развитием темы
0
75 / 36 / 1
Регистрация: 03.08.2012
Сообщений: 447
18.08.2012, 12:04  [ТС]
Интересная идея, я и забыл что имя файла и имя фонта невсегда одинаковое! Скоро отпишусь!
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
18.08.2012, 12:07
Может быть есть такая функция, определяющая по файлу имя фонта? Я ее не встречал. Но FontLab-то его как-то находит....
0
75 / 36 / 1
Регистрация: 03.08.2012
Сообщений: 447
18.08.2012, 12:18  [ТС]
Нечего не помогло... даже из винды удалил этот файл со шрифтом! Все равно устанавливает свой какой-то стандартный!

А как воспользоваться FontLab? Напиши пример пожалуйста.

Добавлено через 44 секунды
А, ты сам не в курсе... ладно будем думать
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
18.08.2012, 14:05
Цитата Сообщение от kpoxaa Посмотреть сообщение
Нечего не помогло... даже из винды удалил этот файл со шрифтом! Все равно устанавливает свой какой-то стандартный!

А как воспользоваться FontLab? Напиши пример пожалуйста.

Добавлено через 44 секунды
А, ты сам не в курсе... ладно будем думать
FontLab - это большая программа, которую надо скачивать, скорее всего за бабки. Но демонстрационный вариант может имя фонта определить. Есть и еще куча других программ, работающих с ttf-фонтами.
Если будут сложности, кинь мне свой Retro.ttf, попробую его имя определить. Иногда это можно сделать просто просмотром файла.
Вот, кстати, ссылочка http://soft.softodrom.ru/ap/Fontlab-Studio-p6403
1
75 / 36 / 1
Регистрация: 03.08.2012
Сообщений: 447
18.08.2012, 21:40  [ТС]
А имя фонта это не то, когда открываешь его самая первая строчка? Там написано имя фонта! нет?
1
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
19.08.2012, 01:09
Цитата Сообщение от kpoxaa Посмотреть сообщение
А имя фонта это не то, когда открываешь его самая первая строчка? Там написано имя фонта! нет?
Знаешь, похоже на то.
Но моя проблема от этого не решается.
Удачи!
0
75 / 36 / 1
Регистрация: 03.08.2012
Сообщений: 447
19.08.2012, 02:44  [ТС]
И моя не решилась... подскажите кто-нибудь как быть.
Я тут придумал еще пару вариантов. Загрузить фонт в dll и выгружать оттуда? Или сначала загружать фонт в винду (програмно), а потом применять его там, где он нужен?
0
75 / 36 / 1
Регистрация: 03.08.2012
Сообщений: 447
20.08.2012, 13:39  [ТС]
Ребят, никто не знает в чем проблема и как активировать свой шрифт в проекте?
0
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
20.08.2012, 14:48
kpoxaa, а если установить шрифт в систему, а потом в Builder в Object inspector выбрать его?
0
75 / 36 / 1
Регистрация: 03.08.2012
Сообщений: 447
20.08.2012, 22:33  [ТС]
Цитата Сообщение от Ddv122 Посмотреть сообщение
а если установить шрифт в систему, а потом в Builder в Object inspector выбрать его?
А как быть с запуском на другом компьютере? Ведь там не будет этого шрифта... из за этой проблемы и возник вопрос

Может быть есть возможность при запуске закачивать фонт в систему?
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
21.08.2012, 06:13
Достаточно скопировать шрифт в папку c:\Windows\Fonts\, но выполнять подобные действия без ведома пользователя крайне не рекомендуется, выход прост - предупредить пользователя:
Для правильной работы программы необходим шриф SuperPuperFont, который отсуствует в вашей системе.
Установить шрифт SuperPuperFont?
Естественно, предварительно необходимо проверить наличие/отсутствие данного шрифта в системе пользователя.
"Установка" шрифта выполняется банальным
C++
1
CopyFile( "C:\\SuperPuperFont.ttf" , "C:\\Windows\\Fonts\\SuperPuperFont.ttf", true );
...или наоборот.
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
21.08.2012, 10:22
Не знаю что у вас, у меня все ок:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
         if ( !AddFontResourceEx("myfont.ttf", FR_PRIVATE, 0) )
         {
                ShowMessage( "Error AddFontResource: " + SysErrorMessage(GetLastError()) );
                return;
         }
         SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0) ;
 
         Label1->Font->Name = "Neuropol Medium";
         Label1->Font->Size = 14;
         Label1->Caption = "Hello";
}
Прикрепляю проект к подтверждению
Вложения
Тип файла: rar test MyFonts.rar (365.0 Кб, 23 просмотров)
1
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
21.08.2012, 10:34
Название шрифта записано в свойствах файла во вкладке "Подробно"
0
75 / 36 / 1
Регистрация: 03.08.2012
Сообщений: 447
21.08.2012, 16:22  [ТС]
Тут наверное с моим шрифтом проблема... ваш работает. Как только подключаю свой... берет стандартный. Вот файл шрифта, попробуйте применить его у себя. Заработает или нет?
Вложения
Тип файла: rar Konkord-Retro.rar (47.0 Кб, 14 просмотров)
0
75 / 36 / 1
Регистрация: 03.08.2012
Сообщений: 447
21.08.2012, 16:23  [ТС]
LK, скоро попробую, спасибо.
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
21.08.2012, 18:00
Почему-то пробел добавили к имени шрифта (Total Commander подсказал):
C++
1
Label1->Font->Name = "Konkord-Retro ";
2
75 / 36 / 1
Регистрация: 03.08.2012
Сообщений: 447
21.08.2012, 18:13  [ТС]
kzru_hunter, ухты, блин спасибо)))))!!!!!
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
21.08.2012, 19:21
Действительно, - пустячок, а приятно!
Только вот "мой" TotalCom почему-то смолчал... . Это, может, плагин какой-нибудь фонтовый такой бдительный?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.08.2012, 19:21
Помогаю со студенческими работами здесь

Свой шрифт для программы
Подскажите пожалуйста как подключить свои шрифты к программе?

Загрузить свой шрифт из ресурсов
Задача - вставить свой шрифт в программу, чтобы получился только ехе-шник без лишних файлов\папок со шрифтами. Закинул shtrixmicro.ttf в...

Добавить свой шрифт в modX
Подскажите пожалуйста, нужно сделать один шрифт на всем сайте. В ModX этого шрифта нет, как его подгрузить туда? Или может можно сделать...

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

Присвоить Font'у StringGrid'a свой шрифт
MyComponents.h(11): E2459 VCL style classes must be constructed using operator new Мне нужно присвоить Font'у StringGrid'a свой шрифт....


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
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