Как сделать переход шрифта

Обновлено: 03.07.2024

Текст — основная часть контента на большинстве сайтов, и важно грамотно подходить к его отрисовке. В этой статье мы разберём базовые моменты, касающиеся подключения и оптимизации шрифтов.

Сразу стоит отметить, что самый простой вариант — вообще не подключать сторонние шрифты и пользоваться стандартными, которые предустановлены в большинстве операционных систем. Это хорошо знакомые Arial, Times New Roman и так далее — эти шрифты называются веб-безопасными, достаточно просто указать название одного из таких шрифтов в коде, и всё будет работать.

Но чаще всего дизайн макета не позволяет обойтись веб-безопасным шрифтом, а требует использовать какой-то нестандартный. В этом случае при загрузке страницы файл со шрифтом нужно подгружать с сервера по той же схеме, что и остальные ресурсы — CSS-файлы, изображения и так далее. Он может весить довольно много, именно поэтому для быстрой загрузки страницы выгоднее сначала рассмотреть возможность использования стандартных шрифтов. Но даже с нестандартными шрифтами можно избежать большинства проблем, если уделить внимание оптимизации.

Для начала стоит выбрать правильный формат шрифта. TTF и OTF — форматы, которые предоставляются с минимальным сжатием или совсем без него. Их стоит использовать только в том случае, если нужна поддержка очень старых браузеров. Во всех остальных ситуациях можно выбрать WOFF и WOFF2 — форматы, которые отличаются высокой степенью сжатия. WOFF2 — усовершенствованная версия предшественника, этот формат можно считать лучшим из существующих. Тем не менее, поддержка WOFF2 хотя и очень хорошая, но пока не абсолютная, поэтому в качестве подстраховки для не самых современных браузеров стоит использовать WOFF.

Подключение шрифтов с помощью Google Fonts

Есть простой и удобный способ подключить нестандартный шрифт — использовать Google Fonts. Это бесплатный сервис, с помощью которого можно подключать шрифты, но не хранить их на своём сервере. Чтобы им воспользоваться, необходимо выбрать шрифт и добавить одно или несколько нужных начертаний, а затем вставить в ссылку, которую сгенерирует Google Fonts во вкладке Embed.

Интерфейс Google Fonts

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

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

Плюсы этого способа — простота использования и всегда актуальные версии шрифтов, Google Fonts их часто обновляет. Но у него есть и минус — запросы к сторонним серверам могут негативно повлиять на скорость загрузки страницы. Если выбираете этот способ, стоит обратить внимание на оптимизацию.

Подключение шрифтов с помощью правила @font-face

Есть альтернативный способ, при котором файлы со шрифтами хранятся вместе с остальными ресурсами сайта. Для них принято заводить отдельную директорию в корне проекта — например, fonts . В неё следует поместить файлы для каждого начертания в нужных форматах — в большинстве случаев, если не требуется поддержка старых браузеров, подойдут .woff и .woff2 , о которых мы говорили ранее. Шрифты можно скачать на различных ресурсах. При этом всегда нужно обращать внимание на лицензию — некоторые шрифты могут быть недоступны для коммерческого использования.

После того, как шрифты добавлены в проект, их нужно подключить в CSS-файле. Для этого используется правило @font-face . В самом базовом варианте оно будет включать:

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

Адрес файла со шрифтом, который нужно подключить, и его формат. Если адресов несколько, их можно указать через запятую. В этом случае важен порядок — браузер будет последовательно пытаться подключить файлы. Первым должен быть самый подходящий формат, а далее — запасные варианты.

Также с помощью функции local можно добавить возможность перед загрузкой шрифта с сервера проверить, установлен ли он на компьютере пользователя. Если да, запроса к серверу за шрифтом не будет — при рендеринге используется локальная версия. Но у этого способа есть минус — шрифт на компьютере пользователя может быть устаревшим, и тогда страница отобразится не совсем так, как было задумано.

Начертания: жирное, курсивное и так далее. Для каждого начертания нужно отдельное правило @font-face .

Базовый вариант правила:

Для улучшения производительности правило @font-face лучше всего прописывать в самом начале CSS-файла. Так браузер сможет раньше начать обработку шрифта.

Оптимизация

Выбор современного формата шрифта, который обладает хорошей степенью сжатия — это только первый шаг к оптимизации. Можно сделать гораздо больше, чтобы увеличить скорость загрузки страницы и сделать пользовательский опыт при взаимодействии с интерфейсом приятнее.

FOIT, FOUT и FOFT

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

В разных браузерах логика рендеринга текста во время загрузки шрифта отличается. Например, Chrome и Firefox в течение трёх секунд не отрисовывают ничего, затем используют веб-безопасный шрифт, а после окончания загрузки текст перерисовывается. IE поступает похоже, но при этом не ждёт три секунды. Подобное поведение в разных браузерах можно унифицировать, используя свойство font‑display .

Свойство font-display

У свойства есть несколько значений, которые определяют поведение текста во время загрузки шрифта:

  • auto — поведение по умолчанию, зависит от браузера.
  • block — текст не отображается в течение короткого периода (3 секунды), затем отрисовывается запасной шрифт, если основной ещё не загрузился. Как только загрузка завершается, текст перерисовывается снова.
  • swap — сразу же отрисовывается запасной шрифт, после загрузки шрифта — повторный рендеринг.
  • fallback — в течение очень короткого периода (100 миллисекунд) не отображается ничего, затем браузер использует запасной шрифт и ждёт 3 секунды — если шрифт всё ещё не загрузился, остаётся запасной шрифт. Далее не важно, загрузился шрифт или нет, замена не произойдёт. Если шрифт загрузится, то он применится только при обновлении страницы.
  • optional — текст не отображается в течение 100 миллисекунд, а затем отрисовывается запасным шрифтом. Даже если шрифт загрузится после этого, замена произойдёт только при обновлении страницы.

Оптимальное значение — swap , его можно использовать в большинстве случаев, оно удобно для пользователей. При подключении шрифта с помощью Google Fonts это значение установлено по умолчанию. Если же есть необходимость избежать мелькания текста (например, для вдумчивого чтения), подойдёт optional .

Предзагрузка шрифтов

Ещё один способ оптимизации — предварительная загрузка шрифтов. С её помощью можно изменить обычную приоритизацию загрузки ресурсов, тем самым сказав браузеру, что важно загрузить шрифт в первую очередь.

Стоит учесть, что браузер загрузит шрифт в любом случае — даже если он не используется на странице. И, обладая высоким приоритетом, эта загрузка может блокировать загрузку других ресурсов, поэтому нужно грамотно выбирать, что именно предзагружать. Например, если на странице используются три разных шрифта, стоит предзагрузить только основной шрифт без дополнительных начертаний.

Для того, чтобы предзагрузка сработала, нужно поместить в ссылку на шрифт и задать атрибуту rel значение preload :

Также необходимо добавить тип ресурса, в данном случае — font . Предзагружать можно и другие ресурсы — CSS-файлы, изображения и так далее.

Уменьшение количества глифов шрифта

По умолчанию шрифт может содержать глифы (буквы, символы) разных языков и просто редко используемые. С помощью свойства unicode-range можно установить диапазон нужных символов в системе Unicode, тогда браузер будет подгружать сабсет (подмножество) шрифта только в тот момент, когда на странице появится символ из этого диапазона. Предварительно нужно подготовить файлы шрифтов, разбив их на группы.

Например, можно отдельно подключить латиницу и кириллицу, если на сайте представлены версии на двух языках. И с помощью unicode-range браузер поймёт, какой сабсет нужен для конкретной страницы, и загрузит только его. Такой файл будет иметь меньший вес и ускорит загрузку страницы.

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

Google Fonts по умолчанию использует сабсеты. Это можно увидеть, открыв CSS-файл, который подключается в при использовании сервиса. Для каждого языка есть отдельный сабсет. Пример для латиницы и кириллицы:

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

Полезности

Подключение шрифтов — часть вёрстки

А научиться вёрстке проще, чем кажется. Скидка 1000₽ по промокоду SKUCHNO.

Кастомизация — инструмент для решения огромного списка задач дизайна и отстройки фирменного стиля бренда.

Часто случается, что существующие шрифты не отвечают требованиям конкретного проекта. Но шрифт — это не статичный инструмент, который функционирует только в том виде, в котором он создан. Чтобы передать индивидуальный голос компании, шрифт можно и нужно подстраивать и кастомизировать под свои нужды, начиная от таких простых изменений, как сокращение кассового состава, до сложных изменений дизайна всех глифов.

Мы постараемся в этой статье рассказать обо всех видах кастомизации и задачах, которые можно решить с ее помощью.

Начнем с довольно распространенного примера — пропорционального изменения размера шрифта. Например, вы используете на своем сайте системный шрифт, но в какой-то момент решаете отказаться от него и купить шрифт, более подходящий под специфику вашей работы. Но вот проблема: вы заменяете на своем сайте системный шрифт на новый, и верстка портится настолько, что можно делать новый макет. Причины могут быть разные, и одна из них заключается в том, что физические размеры этих двух шрифтов могут значительно отличаться.

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

Изменение параметров шрифта TT Commons под референсный шрифт Arial

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

По умолчанию в шрифты включены OpenType features — например, такие как лигатуры, созданные для знаков, которые сливаются в наборе, чтобы набор был равномерным. В нашей практике много случаев, когда они не нужны клиентам, тогда мы можем их отключить в коде шрифта на своей стороне и передать вам готовый файл.

Отключение или кастомизация OpenType features

Приведем интересный пример. Для одного из наших IT-клиентов мы провели исследование и разработали систему изменения плотности набора текста от размера шрифта. По результатам исследования мы сделали 8 шрифтов с разной разрядкой текста, чтобы в более крупном тексте шрифт был плотнее, а в мелком — разряженнее. Таким образом, мы упростили работу клиенту: больше нет необходимости вписывать параметры разряженности текста вручную.

Наличие фиксированного размера по сравнению с устройствами не всегда является хорошей идеей. Ключевым моментом является получение читаемого размера шрифта и удобной длины строки в большинстве видовых экранов. Элементы просмотра CSS и медиа запросы предоставляют средства для реализации гибкого размера шрифта.

Размер шрифта и длина строки

Существует множество разных представлений, на которых находится лучший размер шрифта пикселя, или является минимальным читаемым размером. Конечно, верно то, что большие шрифты более доступны и удобны для чтения. Тенденция последних лет заключалась в увеличении размеров шрифтов. Большинство сайтов сегодня используют размер шрифта от 14 до 18 пикселей для основного текста. Эксперты по изобилии рекомендуют размер шрифта не менее 16 пикселей.

Размер шрифта намного больше, чем кажется. Обратите внимание, что количество слов на строку также является ключевым. Мы все испытали стресс при чтении узких столбцов текста двумя словами на строку. Длинные линии, как правило, трудно сосредоточиться, потому что мы используем начало и конец строк в качестве ссылок неосознанно. Однако исследование 2005 года показало, что мы стремимся читать быстрее текст с длинными строками длиной до 95 символов.

Единицы просмотра CSS

Единицы просмотра CSS: vw, vh, vmin и vmax были созданы специально для того, чтобы длина в CSS, включая размер шрифта, была относительно размера видового экрана. Они позволяют получить действительно отзывчивый размер шрифта с его размером в процентах от ширины или высоты видового экрана.

1. vw обозначает ширину окна просмотра. 1vw равно 1% ширины окна просмотра.
2. vh обозначает высоту видового экрана. 1vh равно 1% от высоты.
3. vmin относится к кратчайшему (ширина или высота), а vmax - самому длинному.

Пиксели, ems, rems и медиа-запросы

Второй способ реализовать отзывчивый размер шрифта - использовать медиа-запросы вместе с текстом фиксированного размера, используя значения ems, rems и px:

1. px определяет высоту букв в пикселях CSS
2. em относительно размера шрифта родителя, например. 2em = 28px, если размер шрифта родительского элемента равен 14px.
3. rem (root em) относительно размера шрифта элемента html. 1 rem измеряет то же самое во всем документе. ems трудно поддерживать в правилах, вложенных слишком глубоко, но у rems нет проблем.

Что делать дальше?

Размеры шрифтов и задаете их не в пикселях, а в em. Расчет такой: 1em = 16px и 1em = 100%

Расчет такой: 1em = 16px и 1em = 100%.

Например: берем заголловок, где нужн задать размер шрифта 30 пикселей. Здесь поможет колькулятор, что делим 30 на 16. Получается 1,875.

Остается поставить в CSS:

Если нужно задать размер текста 9 пикселей:

Задавая размеры шрифтов, а точнее в таком стиле, то можете не бояться, если шрифт начнет свое изменение в настройках браузера.

Как на самом деле сделать размер шрифта отзывчивым, и здесь появляются медиа-запросы. Если вы используете ems, просто измените размер шрифта html по мере необходимости и тщательно настройте детали.

Ответственные размеры шрифта с медиа-запросами

html <
font-size: 19px;
>
.unbehaved-element <
font-size: 2em;
>
@media(max-width: 1560px) <
html <
font-size: 18px;
>
.unbehaved-element <
font-size: 1.9em; /*Точная настройка элементов */
>
>
@media(max-width: 980px) <
html <
font-size: 16px;
>
>

Исследования показали, что более длинные строки, до 95 символов, читаются быстрее на экране, но неясно, означает ли это, что читателям нравится читать больше или лучше понимать. Слишком много переменных, чтобы сделать твердые выводы, поэтому имеет смысл ошибаться на стороне умеренности.

Если вы разрабатываете мобильные устройства в первую очередь, вы будете стремиться к краткости, чтобы избежать слишком маленького текста. На рабочем столе вы можете позволить линиям увеличить длину в больших окнах. Объявление max-width может избежать этого из-под контроля, но не обязательно, если вы постепенно увеличиваете заполнение.

Вы также можете сбалансировать размер шрифта от меры, чтобы контролировать количество символов в строке.

Вот пример из медиа-запросов CSS:

@media screen and (min-width:1200px) <
body < font-size:110%; >/* Увеличить размер шрифта */
>
@media screen and (min-width:1400px) <
html < padding:0 15%; >/* Уменьшить ширину контейнера */
>
@media screen and (min-width:1600px) <
body < font-size:125%; >/* Увеличить размер шрифтаe */
>
@media screen and (min-width:1800px) <
html < padding:0 20%; >/* Уменьшить ширину контейнера */
>

Experimental: Это экспериментальная технология
Так как спецификация этой технологии ещё не стабилизировалась, смотрите таблицу совместимости по поводу использования в различных браузерах. Также заметьте, что синтаксис и поведение экспериментальной технологии может измениться в будущих версиях браузеров, вслед за изменениями спецификации.

CSS transitions предоставляют способ контролировать скорость анимации, при изменении CSS-свойств. Вместо того, чтобы свойство применилось сразу, вы можете сделать это действие происходящим в течение какого-то момента времени. Например, если вы смените цвет элемента с белого на чёрный, изменение произойдёт моментально, а вот с CSS transitions, изменения произойдут за временные интервалы, следующих кривой ускорения, все из которых могут быть настроены.

A CSS transition tells the browser to draw the intermediate states between the initial and final states, showing the user a smooth transitions.

Анимации, составляющие переход между двумя состояниями, часто называют неявными переходами, так как промежуточные состояния в период между начальным и конечным состоянием неявно определяются браузером.

CSS переходы позволяют вам решить какие свойства нужно анимировать (перечислением их явно), когда анимация начнётся (установкой задержки), как долго переход будет выполняться (установкой продолжительности), а также как она будет запущена (определением функции по времени, например линейно или быстро в начале, медленно в конце).

Замечание: CSS переходы могут использоваться без префиксов, однако спецификация только недавно достигла стабильности, префиксы по-прежнему необходимы для браузеров на WebKit. Они также необходимы для поддержки старых версий браузеров (таких как: Firefox 15, Opera 12 и более ранних). Таблица совместимости приведена внизу страницы с ещё большим количеством информации.

Какие CSS-свойства анимируются?

Разработчик может определить какое свойство и как анимировать. Это позволяет создавать сложные переходы. Так как некоторые свойства не имеет смысла анимировать, перечень доступных для анимирования свойств ограничен определённым набором.

Значение свойства auto является сложным случаем. Спецификация не рекомендует анимировать в значение auto и из значения auto . Браузеры, основанные на Gecko, исполняют это требование в точности, а основанные на WebKit не так строго. Использование переходов с auto следует избегать, так как это может привести к непредсказуемым результатам, в зависимости от браузера и его версии.

Изменение цвета поля Input при наборе текста (именно при наборе,а не при установке курсора мышки в поле Input)
Добрый день всем! Подскажите пожалуйста код, позволяющий сделать следующие действия. Есть поле.


Шрифт выделенного текста меняется на определённый цвет
Есть кнопки у каждый в значении свой цвет есть образец текста как должно работать: 1.выделяем.


Самовольно меняется переменная?
Всем привет. Работаю с екселем в питоне. Начал делать кое-какой тестовый код, который, пока, просто.

Меняется шрифт при экспорте в ворд
Здравствуйте. Проблема такая: указываю, например, размер шрифта 9pt, потом экспортирую в ворд, а.

Может в данном шрифте не предусмотрен пробел, а word не может сопоставить нажатую кнопку данном шрифту и переключается на шрифт по-умолчанию.

1. Автозамену проверяли?
2. Макросы проверяли?
3. Скрипты VBA в normal.dot и редактируемом файле проверяли?
4. Надстройки проверяли?

Может в данном шрифте не предусмотрен пробел, а word не может сопоставить нажатую кнопку данном шрифту и переключается на шрифт по-умолчанию.

Версия интересная и не лишенная права на жизнь. Плз, расскажите, Вы просто предполагаете или были реальные прецеденты?

Например - неправильная работа стиля. У меня был случай, когда связанный стиль для абзаца форматировал цвет черным, а для знака - зеленым (я перед этим очень долго ковырялся с приоритетами наследования свойств стилей, и в процессе менял цвет стиля на зеленый, а потом обратно. В настройках зеленый стиль нигде не фигурировал, а по факту был).
Лечится подобное удалением шаблона normal.dotm

Маловероятно, судя по поиску пробел есть, хотя какой шрифт у ТС мы знать не можем. Тут скорее вопрос, как этот шрифт был установлен - не факт что он в документе реально подставляется.

DilmurodTJ, приложите скрин, что у вас происходит по нажатию кнопки "Файл"→"параметры"→"дополнительно"→"Показывать содержимое документа"→"подстановка шрифтов".

DilmurodTJ, попробуйте создать новый стиль абзаца (доступ по ctrl+alt+shift+S) и установить в нем этот шрифт по умолчанию, соответственно в рамках любого абзаца сбросьте форматирование вне стиля по ctrl+пробел и ctrl+q, затем присвойте абзацу ваш новый стиль. В пределах абзаца шрифт меняться не должен.

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

p.s на втором скрине почему-то курсор не "сфотался"

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

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

У меня была такая же проблема, но шрифт самостоятельно менялся раз в несколько абзацев.
Причём всегда только между словами (не в середине слова).

Причина оказалась банальна - при быстром наборе текста я с пробелом иногда случайно задевал Ctrl, получалась комбинашка Ctrl + Space, что есть дефолтная команда ResetChar. Проблема решилась удалением комбинашки через Настройки сочетаний клавиш (мне ResetChar не нужен).

Не совсем тот кейс, что в топике - но может, тоже кому-то поможет
Я этот топик нашёл именно через гуглинг "Word внезапно меняет шрифт"

Напротив, игнорируя стили, вы лишаете себя одного из самых мощных инструментов Word, который как ни крути занимает примерно половину вкладки "Главная".

Если задача - приблизиться до wordpad по минимализму (есть у вас в пуске такая программа), то да. Вот уж где все "ненужные" возможности вырезаны.

Ох не хочется флудить и флеймить. Я сегодня зарегился на киберфоруме чисто из благих побуждений: опубликовать простое решение отдельной проблемы.

Для меня проблема, сформулированная в названии топика, решилась. Больше никаких случайных смен шрифта.

Об этом ли речь? Стили - прекрасная вещь, сам по необходимости пользуюсь. Думающий да сообразит переназначить нужные лично ему комбинашки на клавиши, ему удобные. Равно как и воспользуется при необходимости назначением стиля "Обычный", Форматом по образцу, назначением личного Шрифта по умолчанию. вы и сами, предполагаю, прекрасно знаете возможности офисного пакета, здесь ли об этом писать (?).
Тем не менее, благодарю за замечание, сделаю кэп-ремарку по теме для тех, кто не сообразил сразу:

Удалять неудобные комбинации совсем не обязательно, их можно переназначить по своему вкусу и пользоваться любимым функционалом г-на Dinoxromniy (равно как и вашим) как хотите и где хотите.

Моя задача - решение конкретных задач наиболее простым и эффективным способом, а не изобретения 12 способов применения крови дракона в Microsoft Word. Мне ResetChar не нужен, моим задачам соответствует другой функционал. Ну а для многих других это прекрасный инструмент, кто ж спорит

P.S. Я для форматирования под свои задачи вообще обычно пишу макросы под каждый новый типовой кейс, которые затем можно гибко применять (ClearAllFormatting не везде уместен). И вызывать их при наборе текста персональными комбинашками - быстро и легко.

Вопрос не в том, какой именно клавишей вызывается конкретная команда, а о правильном оформлении документа.

Это не имеет значения. Я могу вообще ничего не знать про Word, никакого влияния на функционал программы это не окажет, ибо он заложен разработчиком.

Не пользуетесь, либо пользуетесь неправильно, иначе нажатие ctrl+space не оказывало бы решительно никакого влияния на шрифт абзацев. Вы сами пишете, что у вас это происходило с завидным постоянством, пока вы просто не отключили это функционал (да и зачем вам сочетание переназначать - документ у вас судя по описанию оформлен так, что стили применять крайне затруднительно, разумеется вы его просто отключили).

О чем вы говорите, это стандартное средство MS Word, что вы там собираетесь изобретать, какой "другой функционал", нереализуемый через уже сто лет как разработанные стили вам надобен?

Ох. давайте жить дружно.
Сорри, если это оффтоп. но раз завсегдатай форума спрашивает - невежливо было бы не ответить.

Вы правы, пользуюсь стилями я нечасто. Да ещё и определяю и назначаю их мышью на вкладке Главная.
Я не претендую на звание гуру или профи. Макросы, что я пишу и настраиваю под себя, элеметарны и выполняют только то, что чего были созданы. Их код и результат можно было бы довести до идеала, но в этом попросту пока нет необходимости.

Действительно, можно прокликать текст, назначить абзацам Обычный стиль, заголовкам - Заголовок 1 и 2.
Но текстов много, поэтому проще нажать 1 кнопку для выполнения макроса.
Это сформирует не идеально отформатированный документ, а только выглядящий прилично для сдачи заказчику.
Зато это не тратит моё рабочее время.

Мною сделан макрос, который делает всё автопереформатирование.
С появлением нового копирайтера макрос обрастает новыми условиями, но это нечасто.

Также для удобства сделаны маленькие макросы, которые включают/отключают выделение последующего печатаемого текста жёлтым/оранжевым.

Имею в виду - находить несколько разных способов достижения одинакового форматирования.
Кодить свой MS Word 2020v.2 я намерения не имею

Да, можно установить стандартным стилем Arial 14пт, тогда шрифт будет сбрасываться до идентичного ему же. Только не вижу смысла менять дефолт, если можно обезопасить себя от непреднамеренных вызовов Reset.

Ладно. Я не хочу спорить, доказывать что-либо.
Единственной моей целью было привнесение идеи простого решения конкретной проблемы, и его сохранения для тех, кому оно может понадобиться. Я бы даже подтёр всю нашу переписку, чтобы не отвлекала от сути сабжа топика (у вас есть такая возможность?).

Единственно, почему ответил - т.к. не понимаю, почему вроде действующее решение было поддано такой критике. Ведь вроде помогает найти потенциальную причину проблемы, если кто гуглящий (как и я) сюда попадёт. поправьте, если я неправ.
Я ж не говорю, что ResetChar типа "не нужен никому", я говорю что лично я им не пользуюсь (за ненадобностью). Может, это вас задело/удивило. не знаю, что и думать. Я хотел доброе дело сделать.

С наилучшими пожеланиями.
Доброй ночи.

phoenix125, конкретику я прошу только потому, что не понятно, о чем идет речь.
Почему отказ от стилей я считаю не оптимальным решением, я могу пояснить на примере тех же заголовков: из можно отформатировать двумя способами.
Способ 1: отдельно нажать на кнопку центрировать, отдельно изменить шрифт, отдельно размер (цвет, начертание, подчеркивание, нумерация - продолжите список по своему вкусу), и не получить никаких перспектив по дальнейшему форматированию.

Способ 2: нажать одну-единственную кнопку (сочетание) и получить все перечисленное сразу. Кроме того, если в будущем нужно поменять любой параметр - цвет, формат нумерации и т.д. - параметр меняется один раз в настройке стиля, и все заголовки меняются, как нужно конечному пользователю.

Исходя из возможностей, перечисленных для каждого способа, нет сомнений, что пользуются способом 1 - и этому нет рационального объяснения.

В случае форматирования на vba аналогично можно форматировать стилем - количество строчек кода уменьшается, на выходе имеем грамотно оформленный документ, допилить оформление которого может любой человек за секунды.

За пафосным названием "стиль" стоит обычная кнопка, как например "подчеркивание", но что она будет делать - только подчеркивать, центрировать, нумеровать, все перечисленное вместе - вы можете решить и много после того, как отформатировать текст, обратная связь сохраняется. Разумеется, все сложнее, и возможностей у стилей много больше (стилей четыре вида, и у каждого свое назеачение)
,и ничего особенно сложного там нет.

А вот какой способ рациональнее и проще, что советовать - это очень большое поле для дискуссий.

Вот именно. Православность способа форматирования можно обсуждать столь же долго, как спорить что лучше - Шахтер или Динамо, лыжи или сноуборд. считаю лишним обсуждать это здесь.

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

В моём случае случайная смена шрифта происходила из-за того, что при печатании пробела случайно нажимался Ctrl.
Вследствии этого, вместо вставки пробела вызывалась команда ResetChar.
В ту самую секунду я имел намерение только напечатать пробел, а не выполнить ResetChar.
Поэтому я предлагаю тем, кто, возможно, столкнулся с точно таким же случаем, проверить, не вызывается ли ResetChar помимо вашей воли.
Поскольку непреднамеренный вызов команд есть плохая практика, приводящая к неожиданному для вас результату, ни одна команда не должна быть выполнена иначе чем в полном соответствии с вашими намерениями.

Я переназначил команду ResetChar на другое сочетание клваиш, чтобы избежать случайных вызовов этой команды.
Команда ResetChar осталась доступна на другой комбинации, случайное нежатие которой исключено, а её намеренное использование осталось возможным.
Если вдруг я забуду, на какое сочетания я переназначил ResetChar, всегда можно посмотреть его в настройках Сочетаний клавиш.
Даже если я удалю все сочетания клавиш для вызова ResetChar, всегда можно заново назначить удобную комбинацию, найдя ResetChar в списке "Все команды" "Настроек сочетаний клавиш".

Применение команды ResetChar обсуждать не буду, т.к. в данном случае моей целью было: просто напечатать пробел там, где он должен быть, и не более того.


Меняется шрифт при переносе на другой компьютер
Всем привет! У меня в приложении используется стандартный шрифт GothicE (выбрал в свойстве формы.


Шрифт не меняется на русских буквах, на английских - меняется
Здравствуйте! Проблема с подключением шрифта. Все сделал верно, но при отображение меняется.

Подсказка при наборе текста
Здравствуйте, поисках на форуме, подобную тему не нашел. Суть такова: есть новостной сайт, есть.

Читайте также: