Поиск сообщества
Показаны результаты для тегов 'Font'.
Найдено: 12 результатов
-
Шаблон проекта с кастомным шрифтом FontAwesome Намного удобней и менее затратно использовать Шрифт с Иконками, чем заботиться о качестве картинок, скейлах, их хранении и загрузке Поэтому давно перешел на шрифты, пару скриншотов (без использования картинок) Seattle CustomFont.7z Berlin CustomFont(Berlin).zip WINDOWS/MACOS - установить шрифт в систему IOS - в деплой добавить шрифт и с помощью IOS9Fix прописать в .plist следующее: ANDROID - в деплой добавить шрифт (Remote Path -> assets\internal) и подключить к проекту измененные файлы FMX.FontGlyphs.Android.pas, FMX.FontGlyphs.pas
- 35 ответов
-
- font
- font awesome
-
(и ещё 6 )
C тегом:
-
Механизм, который позволяет использовать иконку символьного шрифта вместо картинки на кнопках. Уж очень мне не нравится стандартный механизм добавления картинки на кнопку, поэтому, пару лет назад, начал искать альтернативу и остановился на символьных шрифтах (таких как FontAwesome). Вот что из этого получилось: IconicFontGlyph.zip Под Windows работает без проблем - на других системах не пробовал. Как это работает Добавляем в проект модуль UIExt.IconicFont.pas Добавляем в проект модули описания шрифтов, которые будут использоваться (см. ниже) Описываем символ, который будет использоваться в качестве иконки (см. ниже) В обработчике события OnApplyStyleLookup кнопки пишем одну строчку - TIconicFont.ApplyButtonStyle(TCustomButton(Sender)); Модули описания шрифтов UIExt.IconicFont.FA.pas - Font Awesome UIExt.IconicFont.IM.pas - IcoMoon UIExt.IconicFont.IML.pas - IcoMoon Lindua UIExt.IconicFont.IMLN.pas - IcoMoon Linear UIExt.IconicFont.MDI.pas - Material Design Icons UIExt.IconicFont.WHHG.pas - WebHostingHub Glyphs Описание символа Для описания символа используется свойство StyleName (не знаю как остальные - лично я его нигде не использую). Само описание - это строка в определённом формате: [Короткое имя шрифта];[код символа];[размер шрифта];[цвет] 2 первых поля - обязательны. Короткое имя шрифта можно увидеть в его модуле описания (TIconicFont.Short) Примеры можно увидеть на скриншотах выше (текст над кнопками). Ну и напоследок - небольшая демка IconicFontDemo.zip
- 14 ответов
-
Подскажите, знает ли кто как в FMX использовать свой шрифт не устанавливая его в в систему ? под vcl было что-то вроде: procedure LoadFont; var MyResStream: TResourceStream; begin MyResStream:= GetResStream('MyFont'); MyResStream.SavetoFile('MyFont.ttf'); AddFontResource(PChar('MyFont.ttf')); SendMessage(HWND_BROADCAST, WM_FONTCHANGE,0,0); end; procedure UnLoadFont; begin RemoveFontResource('MyFont.ttf') ; SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0) ; end; в фаирманках, что удивительно(сарказм), этот не работает. как я понимаю, шрифты подгружаются в момент запуска приложения, и рисуются средствами gdi... хотел поправить юнит FMX.FontGlyphs.Win по аналогии с http://delphifmandroid.blogspot.com/2015/01/true-type.html но TWinFontGlyphManager даже не создается( дебагер не попадает в конструктор ). вопрос: как решить эту маленькую проблему ?
-
Добрый день! Столкнулся с проблемой вывода текста разного размера по одной линии. Не получается использовать BaseLine доступную для Firemonkey. Baseline - воображаемая прямая линия, проходящая по нижнему краю прямых знаков без учёта свисаний и нижних выносных элементов. В строке символы текста стоят на базовой линии, а нижние выносные элементы текста «свисают» с неё. Из описанного выше ясно, что выводимые символы должны лежать на это линии, но в реале как то все некорректно выводится. Сделал два примера VCL (черный фонт) и FireMonkey(черный полупрозрачный фонт), оказалось, что вывод текста осуществляется по разному, при одном и том же значении размера шрифта. Базовая линия в обоих примерах 356. Совмещаем отображение символов: GlyphsEqual.png Символы совпали, но базовая линия смещена. Совмещаем базовую линию: PosEqual.png Базовая линия совпала, как и верхний край контролов, а вот текст (серый) значительно ниже. А теперь собственно вопрос вопрос, где ошибка? Как рассчитать базовую линию для FMX? P.S. Про attributes у TTextLayout знаю. BaseLine.rar
-
TListView, как внезапно выяснилось, напрочь игнорирует системный размер шрифта и в iOS, и в Android. Есть решение, как его можно заставить соответствовать системным настройкам, или же никто не грузит себя этой ерундой? Наверняка и многие другие компоненты не утруждают себя соответствием системным настройкам, но меня пока интересует только TListView.
-
Доброго времени сутки. Хочу в приложение использовать FontAwesome шрифт, но как в примере указана я все так делаю проект деплоится но когда собираюсь записывать телефоне то выдаёт ошибку. может кто нибудь знает в чем проблема? заранее благодарю
-
*** Небольшой обмен опытом *** Вижу что вопросы о размере текста довольно частые, поделюсь своими наработками. function CalcTextSize(Text: string; Font: TFont; Size: Single = 0): TSizeF; Функция для расчета размера прямоугольника, занимаемого однострочным текстом. Параметры: Text - Текст Font - Шрифт с которым будет выводиться текст Size - если 0, то Font.Size будет использоваться из Font, иначе из данного параметра Исходный код: uses System.Types, FMX.Types, FMX.Graphics, FMX.TextLayout, System.Math, System.SysUtils; function CalcTextSize(Text: string; Font: TFont; Size: Single = 0): TSizeF; var TextLayout: TTextLayout; begin TextLayout := TTextLayoutManager.DefaultTextLayout.Create; try TextLayout.BeginUpdate; try TextLayout.Text := Text; TextLayout.MaxSize := TPointF.Create(9999, 9999); TextLayout.Font.Assign(Font); if not SameValue(0, Size) then begin TextLayout.Font.Size := Size; end; TextLayout.WordWrap := False; TextLayout.Trimming := TTextTrimming.None; TextLayout.HorizontalAlign := TTextAlign.Leading; TextLayout.VerticalAlign := TTextAlign.Leading; finally TextLayout.EndUpdate; end; Result.Width := TextLayout.Width; Result.Height := TextLayout.Height; finally TextLayout.Free; end; end; function FontSizeForBox(Text: string; Font: TFont; Width, Height: Single; MaxFontSize: Single = cMaxFontSize): Integer; Функция возвращающая максимально возможный размер шрифта, для текста вписанного в заданный прямоугольник. Параметры: Text - Текст Font - Шрифт с которым будет выводиться текст Width, Height - Ширина и высота прямоугольника MaxFontSize - Максимально возможный размер шрифта Исходный код: uses System.Types, FMX.Types, FMX.Graphics, FMX.TextLayout, System.Math, System.SysUtils; const cMaxFontSize = 512; function FontSizeForBox(Text: string; Font: TFont; Width, Height: Single; MaxFontSize: Single = cMaxFontSize): Integer; var Size, Max, Min, MaxIterations: Integer; Current: TSizeF; begin Max := Trunc(MaxFontSize); Min := 0; MaxIterations := 20; repeat Size := (Max + Min) div 2; Current := CalcTextSize(Text, Font, Size); if ((Abs(Width - Current.Width) < 1) and (Width >= Current.Width)) and ((Abs(Height - Current.Height) < 1) and (Height >= Current.Height)) then break else if (Width < Current.Width) or (Height < Current.Height) then Max := Size else Min := Size; Dec(MaxIterations); until MaxIterations = 0; Result := Size; end; --- Также данные функции можно найти в этом юните
-
Я скачал много хороших шрифтов, теперь хочу что бы у пользователя был возможность выбрать любой подходящий шрифт. Как это сделать? Как программно изменит шрифт на шрифт которое добавлен в Deployment? Я посмотрел предыдущие темы, но они не помогли мне так как у меня установлен XE8 вышеуказанные способы не работали для. http://community.embarcadero.com/index.php/blogs/entry/true-type-font-iconography-for-android-and-ios-apps это тоже посмотрел, но там показан способ для design time. Пожалуйста помогите если знаете.
-
Доброго времени суток. Создаю программно компоненты TLabel. Status1 := TLabel.Create(Form1); Status1.Name := 'LabelStatus1_'+idMachine.ToString; Status1.Parent := RectangleStatus; Status1.Align := TAlignLayout(9); Status1.TextSettings.HorzAlign := TTextAlign(0); //По умолчанию, при создании объекта TLabel, размер шрифта устанавливается в значение 12 Status1.TextSettings.Font.Size := 24; Status1.TextSettings.WordWrap := true; Status1.Text := 'Статус 1'; Status1.Visible := true; Изменяю значение размера шрифта: Status1.TextSettings.Font.Size := 24 Значение изменяется, но размер шрифта TLabel при отображении на форме остается прежним. Как можно, или нужно изменять размер шрифта компонента в RunTime?
-
Как программно изменить размер шрифта TCornerButton? Пробовал так но почему-то не работает... Font.size:=MyValue
- 3 ответа
-
- Size
- TextSettings
-
(и ещё 1 )
C тегом:
-
ITextSettings Как массово задать размер шрифта у всех контролов?
antarey опубликовал вопрос в Работа с текстом
Подскажите как программно поменять шрифт на всех котролах формы и его размер Желательно в реализации с++ На ВСЛ в принципе было достаточно поменять размер шрифта формы, а в обезьяне пока не знаю как. Через стили не желательно, но как вариант для развития тоже подойдет. спасибо