Formatted Text. Set Font Size Метод
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Задает размер шрифта.
Перегрузки
Задает размер шрифта для всего набора символов в объекте FormattedText.
Задает размер шрифта для заданного подмножества символов в объекте FormattedText.
SetFontSize(Double)
Задает размер шрифта для всего набора символов в объекте FormattedText.
public: void SetFontSize(double emSize);
public void SetFontSize (double emSize);
member this.SetFontSize : double -> unit
Public Sub SetFontSize (emSize As Double)
Параметры
Размер измерения шрифта «em», предоставляемый в независимых от устройства единицах (1/96 дюйма на единицу).
Комментарии
Этот метод задает значение размера шрифта для всей текстовой строки. Чтобы задать значение размера шрифта для подмножества текстовой строки, используйте SetFontSize метод .
Применяется к
SetFontSize(Double, Int32, Int32)
Задает размер шрифта для заданного подмножества символов в объекте FormattedText.
public: void SetFontSize(double emSize, int startIndex, int count);
public void SetFontSize (double emSize, int startIndex, int count);
member this.SetFontSize : double * int * int -> unit
Public Sub SetFontSize (emSize As Double, startIndex As Integer, count As Integer)
Параметры
Размер измерения шрифта «em», предоставляемый в независимых от устройства единицах (1/96 дюйма на единицу).
startIndex Int32
Начальный индекс исходного символа, к которому применяется размер шрифта.
Число символов, к которым применяется размер шрифта.
Примеры
В следующем примере создается FormattedText объект , а затем к тексту применяется несколько стилей форматирования, включая SetFontSize.
protected override void OnRender(DrawingContext drawingContext) < string testString = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor"; // Create the initial formatted text string. FormattedText formattedText = new FormattedText( testString, CultureInfo.GetCultureInfo("en-us"), FlowDirection.LeftToRight, new Typeface("Verdana"), 32, Brushes.Black); // Set a maximum width and height. If the text overflows these values, an ellipsis ". " appears. formattedText.MaxTextWidth = 300; formattedText.MaxTextHeight = 240; // Use a larger font size beginning at the first (zero-based) character and continuing for 5 characters. // The font size is calculated in terms of points -- not as device-independent pixels. formattedText.SetFontSize(36 * (96.0 / 72.0), 0, 5); // Use a Bold font weight beginning at the 6th character and continuing for 11 characters. formattedText.SetFontWeight(FontWeights.Bold, 6, 11); // Use a linear gradient brush beginning at the 6th character and continuing for 11 characters. formattedText.SetForegroundBrush( new LinearGradientBrush( Colors.Orange, Colors.Teal, 90.0), 6, 11); // Use an Italic font style beginning at the 28th character and continuing for 28 characters. formattedText.SetFontStyle(FontStyles.Italic, 28, 28); // Draw the formatted text string to the DrawingContext of the control. drawingContext.DrawText(formattedText, new Point(10, 0)); >
Protected Overrides Sub OnRender(ByVal drawingContext As DrawingContext) Dim testString As String = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor" ' Create the initial formatted text string. Dim formattedText As New FormattedText(testString, CultureInfo.GetCultureInfo("en-us"), FlowDirection.LeftToRight, New Typeface("Verdana"), 32, Brushes.Black) ' Set a maximum width and height. If the text overflows these values, an ellipsis ". " appears. formattedText.MaxTextWidth = 300 formattedText.MaxTextHeight = 240 ' Use a larger font size beginning at the first (zero-based) character and continuing for 5 characters. ' The font size is calculated in terms of points -- not as device-independent pixels. formattedText.SetFontSize(36 * (96.0 / 72.0), 0, 5) ' Use a Bold font weight beginning at the 6th character and continuing for 11 characters. formattedText.SetFontWeight(FontWeights.Bold, 6, 11) ' Use a linear gradient brush beginning at the 6th character and continuing for 11 characters. formattedText.SetForegroundBrush(New LinearGradientBrush(Colors.Orange, Colors.Teal, 90.0), 6, 11) ' Use an Italic font style beginning at the 28th character and continuing for 28 characters. formattedText.SetFontStyle(FontStyles.Italic, 28, 28) ' Draw the formatted text string to the DrawingContext of the control. drawingContext.DrawText(formattedText, New Point(10, 0)) End Sub
Комментарии
Чтобы задать значение размера шрифта для всей текстовой строки, используйте SetFontSize метод .
Не получается изменить размер шрифта консоли
используй вот это WenQuanYi Micro Hei Mono Regular 11, или меняй так, кликай правой кнопкой мыши, затем выбери профиль->параметры профиля, и там найдешь шрифт и размер.
gssomi ★★
( 05.05.16 11:27:50 MSK )
Последнее исправление: gssomi 05.05.16 11:31:19 MSK (всего исправлений: 2)
Лучше всего ничего никогда не трогать в VT, там всё очень глючно. Мало того что драйвера фреймбуфера от некоторых скажем так вендоров могут являть собой тот ещё подарок, так ещё и перевод на systemd усугубил ситацию, добавив порцию гонок на старте между инитом VT и этими драйверами, из-за чего можно наслаждаться невоспроизводимыми слетаниями настроек.
d_a ★★★★★
( 05.05.16 11:30:08 MSK )
Последнее исправление: d_a 05.05.16 11:30:46 MSK (всего исправлений: 1)
Ответ на: комментарий от gssomi 05.05.16 11:27:50 MSK
Мышка не работает) WenQuanYi Micro Hei Mono Regular 11 пишет не удалось открыть файл шрифта
Cdelfi78
( 05.05.16 12:19:36 MSK ) автор топика

Смотрю, тут уже специалисты прибежали. Centos какая? Если 7, то
systemctl restart systemd-vconsole-setup
unixforum.org
Разобраться со шрифтом в консоли (изменить размер для начала)
SLAX, Deep Style, ZenWalk
bormant Сообщения: 1354
Re: Разобраться со шрифтом в консоли (изменить размер для начала)
Сообщение bormant » 09.01.2016 16:39
Не могу отделаться от впечатления, что являюсь наблюдателем сеанса удаления гланд через анус, без возможности отказаться, не считая варианта лишиться гланд тем же способом.
монах Тук
вероятно, вы не с той стороны заходите.
Спасибо сказали:
монах Тук Сообщения: 78 ОС: XP 32 SP3
Re: Разобраться со шрифтом в консоли (изменить размер для начала)
Сообщение монах Тук » 09.01.2016 16:49
09.01.2016 16:29
history выдаёт только то, что Вы вводили в консоли, а шрифт мог быть установлен во время инициализации системы.
Да, а мне сейчас стало критичным узнать не просто, что я вводил с онсоли, а что я вводил с консоли во время текущей сессии. И я это выделил жирным шрифтом в сообщении N29
Нужно узнать список команд в текущей сессии.
Сам я попытался, но вышло это корявенько.
И да, оттого, что шрифт мог быть установлен во время инициализации системы, не снимает вопрос о том, как его найти. Ну то есть в перспективе при ненахождении среди команд в текущей сессии setfont или setfont -v нужно будет обратиться к файлу /etc/rc.d/rc.font и считать оттуда соответствующую команду. Программно, естессно.
Если нет более лёгких путей.
09.01.2016 16:39
вероятно, вы не с той стороны заходите.
кто заходит с той стороны- читай, кто знает, как получить текущий шрифт консоли, тот молчит. Проверено. Приходится самому.
Спасибо сказали:
bormant Сообщения: 1354
Re: Разобраться со шрифтом в консоли (изменить размер для начала)
Сообщение bormant » 09.01.2016 17:51
Зачем? Вы ищете несуществующее решение непоставленной задачи.
Я могу закинуть в знакогенератор всё что угодно, такого файла может в природе не существовать вовсе.
И? Что именно вы хотите найти в этом случае?
Раз вам нужен определенный набор глифов числом до 512, а лучше до 256, так просто загрузите его в знакогенератор, да и дело с концом.
Только и всего.
Чем же не устраивает такой путь?
Спасибо сказали:
монах Тук Сообщения: 78 ОС: XP 32 SP3
Re: Разобраться со шрифтом в консоли (изменить размер для начала)
Сообщение монах Тук » 09.01.2016 18:52
bormant Мне не нужен знакогенератор. И другие непонятные слова тоже. Если вы у себя пользуетесь авторскими безымянными шрифтами, то я ими не пользуюсь. Мой случай не ваш. Никакой самодеятельности. Только шрифты из файлов, лежащих сами знаете где. Всё! Мне нужно просто получить имя файла-шрифта, использующегося консолью в данный момент. И оно, это имя, у него есть. Вы можете?
А согласитесь, как к месту была бы команда а-ля getfont. Просто ведь. Но её нет похоже, такой команды.
Спасибо сказали:
Bizdelnick Модератор Сообщения: 20800 Статус: nulla salus bello ОС: Debian GNU/Linux
Re: Разобраться со шрифтом в консоли (изменить размер для начала)
Сообщение Bizdelnick » 09.01.2016 20:06
09.01.2016 18:52
Мне нужно просто получить имя файла-шрифта, использующегося консолью в данный момент. И оно, это имя, у него есть.
У файла есть, а у загруженного из него шрифта — уже нет. Никто целью узнать имя файла шрифта просто не задавался, потому что обычно шрифт настраивается один раз, и потом не меняется. Если Вам это действительно нужно, напишите скрипт-обёртку, который будет сохранять имя последнего загруженного шрифта в файл.
Пишите правильно:
| в консоли вку́пе (с чем-либо) в общем вообще |
в течение (часа) новичок нюанс по умолчанию |
приемлемо проблема пробовать трафик |
Спасибо сказали:
NickLion Сообщения: 3408 Статус: аватар-невидимка ОС: openSUSE Tumbleweed x86_64
Re: Разобраться со шрифтом в консоли (изменить размер для начала)
Сообщение NickLion » 09.01.2016 21:30
Есть команда showconsolefont, которая показывает текущий используемый шрифт, но, естественно, не файл, откуда он был загружен (строго говоря, он не обязательно из файла может быть загружен).
В openSUSE консольные шрифты лежат в /usr/share/kbd/consolefonts/, шрифт по-умолчанию UniCyr_8x16.psf.gz.
Спасибо сказали:
монах Тук Сообщения: 78 ОС: XP 32 SP3
Re: Разобраться со шрифтом в консоли (изменить размер для начала)
Сообщение монах Тук » 11.01.2016 21:07
NickLion, команда showconsolefont показала, что я рано обрадовался- научился выводить имена файлов в кодировке UCS-2. Не научился. Приходится всё начинать сначала.
Нужно вывести имя вот этого файла
http://rghost.ru/8WKRGxl5b
В архиве музыкальный файл и торрент на всякий случай (откуда этот файл взят). Музыка Эдуарда Артемьева, если что. Название файла вроде на французском, врать не буду. Его имя видится корректно как в консоли винды (dir), так и в её в проводнике, если кто захочет посмотреть (с буквами e над которыми стоит что-то вроде запятой). Сейчас эти буквы показаны в консоли slackware квадратиками.
Спасибо сказали:
Bizdelnick Модератор Сообщения: 20800 Статус: nulla salus bello ОС: Debian GNU/Linux
Re: Разобраться со шрифтом в консоли (изменить размер для начала)
Сообщение Bizdelnick » 11.01.2016 21:42
монах Тук
Почитайте для начала Хорошие шрифты — ищу и ниже по теме.
Пишите правильно:
| в консоли вку́пе (с чем-либо) в общем вообще |
в течение (часа) новичок нюанс по умолчанию |
приемлемо проблема пробовать трафик |
Спасибо сказали:
bormant Сообщения: 1354
Re: Разобраться со шрифтом в консоли (изменить размер для начала)
Сообщение bormant » 11.01.2016 21:52
Возьмите ter-v16v или другого размера (ter-v*), можно UniCyrExt*, возможно, необходимое есть в drdos*.
Спасибо сказали:
NickLion Сообщения: 3408 Статус: аватар-невидимка ОС: openSUSE Tumbleweed x86_64
Re: Разобраться со шрифтом в консоли (изменить размер для начала)
Сообщение NickLion » 12.01.2016 09:35
монах Тук
1. Зачем UCS-2? Проще с UTF-8.
2. Максимальное количество символов (точнее глифов) в tty консоли — 512. Это мы в какой-то теме тут недавно обсуждали. Если нужно больше — либо X, либо fbterm.
UPD упс, выше уже дали ссылку на ту тему.
Спасибо сказали:
монах Тук Сообщения: 78 ОС: XP 32 SP3
Re: Разобраться со шрифтом в консоли (изменить размер для начала)
Сообщение монах Тук » 12.01.2016 21:30
11.01.2016 21:52
Возьмите ter-v16v или другого размера (ter-v*), можно UniCyrExt*, возможно, необходимое есть в drdos*.
Конечно, попробую. Я уж набросал программу на плюсах, которая в цикле устанавливает шрит консоли и выводит его, дабы посмотреть, какой шрифт что из себя представляет. Псевдокод:
while () < setfont showconsolefont >
Кстати, был бы рад увидеть свойства шрифта без совершенно какого-то лишнего подсоединения к какому-то там серверу, что требует команда showfonts. Это чтобы мне свойства шрифта увидеть, котоый просто в папочке лежит, нужно к серверу какому-то подсоеиняться. Мда. Ну ладно, щас не об этом.
Возвращаясь к просмотру всех шрифтов в цикле. Заметил, что setfont ведёт себя непредсказуемо и пока с этим не разобрался двльше двигаться не могу.
Имеем файл в NFTS /disk_E/slackware_test/русское_имя_файла. Попробуем его получить. Установим непонятно какой шрифт
setfont Agafari-16 ls /disk_E/slackware_test/ _ _
Получаем вместо «русское_имя_файла» кучу каких-то пробелов. Ну и ладно, тевогу не бьём пока, шрифт-то непонятно какой. Установим нормальный шрифт.
setfont Cyr_a8x14 ls /disk_E/slackware_test/ русское_имя_файла
Так, но пробелы, котоые были после первоо вызова ls /disk_E/slackware_test/, так пробелами и остались, а ведь setfont Cyr_a8x14 должна была поменять шрифт ВО ВСЕЙ КОНСОЛИ, а не только в последующих выводах! То есть вместо пробелов должно было написаться «русское_имя_файла». Не написалось.
Конечно, setfont меняет всю консоль, почти всегда меняет размер. Но написание она меняет непредсказуемо . В приведённом примере ясно было что на что заменить. Кстати, я делал ls /disk_E/slackware_test/ | hexdamp -C (в коде выше нет, дабы не засорять) и дамп строки переданный консоли был одинаков и означал «русское_имя_файла». Но после ызова setfont Cyr_a8x14 я не увидел его изменённым, повторяюсь уже. Почему же, друзья?
Спасибо сказали:
bormant Сообщения: 1354
Re: Разобраться со шрифтом в консоли (изменить размер для начала)
Сообщение bormant » 12.01.2016 22:29
Хм, не думал, что всё настолько плохо.
Маленький ликбез.
Есть у видеоадаптеров Hercules/CGA/EGA/VGA текстовые режимы. В этих режимах отображением образов символов (глифов) занимается видеокарта. При этом в видеопамять на каждое знакоместо записывается 2 байта — код символа и код атрибутов.
Если вы поменяете содержимое знакогенератора, то в текстовом режиме это отразится на всём содержимом экрана.
Помимо собственно текстовых режимов, Linux поддерживает для консоли графический режим (кадровый буфер, framebuffer). В подобных режимах в видеопамять записывается цвет каждой точки экрана. При выводе теста каждый символ рисуется представляющими его точками в графике. При таком выводе имеет значение только актуальное содержимое знакогенератора на момент вывода символа; после этого в видеопамяти остался только образ этого символа. Смена содержимого знакогенератора на имеющийся вывод никакого влияния не окажет.
Для установки содержимого знакогенератора консоли используется setfont, для вывода содержимого знакогенератора может использоваться showconsolefont. Сразу обращаю внимание, что showfont — это совершенно другая утилита из состава X-сервера («иксы»), который в *nix-ах традиционно отрисовывает графические сеансы, к консоли никакого отношения не имеет, кроме того, что работает на отдельной консоли (раньше vt7 и выше, в некоторых теперь на vt1), роли сервера и клиента с точки зрения межпроцессного взаимодействия (IPC — interprocess communication).
По поводу Cей для отображения шрифтов — это из пушки по воробьям, сценария на bash более чем достаточно, да и выглядит он не сильно сложнее приведенного псевдокода:
cd /usr/share/kbd/consolefonts for f in *; do setfont $f; showconsolefont; pause; done
PS. Как говорят самураи, полную чашу не наполнить.
Размер шрифта в консоли

Поменять размер шрифта в консоли
Как вывести в консоль символ с нужным размером шрифта? Заранее спасибо.
Изменение шрифта в консоли
Подскажите, пожалуйста, можно ли изменить размер шрифта частично? В консольном приложении.
Цвет шрифта в консоли
Здравствуйте, уважаемое сообщество! Подскажите, пожалуйста, есть ли возможность установить цвет.

Цвет шрифта и фона в консоли.
Знаю, это тема уже обсуждалась, но я новичок в программировании и ничего в предложенном ранее коде.