Перейти к содержанию
Fire Monkey от А до Я
  • 0

Задать стиль текста в RunTime


kudatsky

Вопрос

Опубликовано

Мне нужно в Run Time переключать фонт с жирного на нежирный и наоборот.

В диалоге выбора фонта в Design Time есть множество стилей:

Light,  Licht Italic, ...  Bold и т.д.

В свойстве TextSettings.Font.Style для Design Time я нахожу только 4 стиля:

fsBold, fsItalic, fsUnderline, fsStrikeOut

А где остальные ?

Рекомендуемые сообщения

  • 0
Опубликовано

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

не применяется TFont.StyleExt, не пойму как правильно сделать

var
 s:TFontStyleExt;
begin
 s:=TFontStyleExt.Create(TFontWeight.Light);
 label1.Font.StyleExt:= s;
end;

подскажите, как правильно сделать

  • 0
Опубликовано

И все таки не работает)))

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

  • 0
Опубликовано

сам шрифт, который включает те или иные начертания и "жирность" причем каждое в отдельном файле идет обычно, и свойства одного, выбранного в font-family это не совсем одно и то же

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

  • 0
Опубликовано

да, разобрался во всем. засада в том, что среда поддерживает только два начертания, Regular и Bold, приходится искать шрифты, где начертание подменено, то есть начертание Regular а по факту, например, Light. Но даже в этом случае работает не корректно, если загружаю два начертания одного шрифта как два разных шрифта. В общем удалось победить загрузку шрифтов и на андроид и на ios, если кому будет интересно, могу составить мануал. 

  • 0
Опубликовано (изменено)

Это инструкция для делфи 10.4.1

1. Копируем ttf или otf файл шрифта в папку с проектом. Например у меня comic.ttf. Открыв шрифт стандартным виндовым просмотровщиком смотрим, чтобы шрифт содержал необходимый нам набор символов и заодно фиксируем Имя шрифта. В данном случае это будет Comic Sans MS. Если шрифт имеет расширение TTF (капсом), то меняем его на ttf, это важно ибо капсом файл шрифта не находится.

для Android

2. Деплоим файл шрифта. Remote Path указываем .\assets\internal\

3. Для контролов, к которым хотим применить шрифт пишем Font.Family := 'название файла шрифта без расширения'; в моем примере Font.Family :='comic'; 

4. Не забываем снять у контрола зависимость от стиля, например так StyledSettings := []; Или так StyledSettings := StyledSettings - [TStyledSetting.Family];

для iOS

2. Деплоим файл шрифта. Remote Path указываем .\

3. Редактируем info.plist.TemplateiOS.xml, чтобы при сборке информация о шрифте попала в plist.

<%ExtraInfoPListKeys%>
<key>UIAppFonts</key>
<array>
<string>comic.ttf</string>
<string>другие шрифты.ttf</string>
</array>

 

3. Для контролов, к которым хотим применить шрифт пишем Font.Family := 'Имя шрифта'; в моем примере Font.Family :='Comic Sans MS'; 

4. Не забываем снять у контрола зависимость от стиля, например так StyledSettings := []; Или так StyledSettings := StyledSettings - [TStyledSetting.Family];

4. Пересобираем приложение (Build) и ставим на телефон

 

 

Изменено пользователем gonzales

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...