Почему знаки становятся розовыми квадратиками и как это исправить

Если знак, или как его иначе называют глиф (glyph), отсутствует в выбранном для этого знака шрифте, то на экране на месте этого символа обычно розовый квадратик. Такая потеря происходит совершенно неожиданно. Например, в Word текст набирался шрифтом Times New Roman, в него помещались греческие буквы. И на экране всё нормально. А после импорта этот текст оформили гарнитурой Лазурского, и все греческие буквы исчезли. Но мы можем этого и не заметить, ошибки найдёт редактор, и он тоже может что-то пропустить.

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

Помочь найти такие проблемные знаки и назначить им шрифт, в котором они есть, помогут два скрипта. Одна программа в качестве шрифта, в котором предположительно есть все глифы, использует Minion Pro, вторая — Times New Roman. Любую из них легко переделать для использования другого шрифта.

Обрабатывается вся статья.

Скрипт ищет такие потерянные глифы в статье, оформляет их шрифтом, определённым в переменной rightFontName, и отмечает цветом '#colorForGlyphes'.

После обработки надо в поиске просмотреть все знаки, отмеченные цветом '#colorForGlyphes', дабы убедиться, что вместо розовых квадратиков возвращены верные символы, и приложить к этим знакам символьный стиль, чтобы не потерять оформление.

https://mega.nz/#!psY0CLpa!61SlPYz88b5K41V84Rx05ieFS7ljsC5mHMLjvVdXQd8

 

== Использование DoTextOK для избавления от розовых квадратиков ==

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

Скрипт DoTextOK находит эти знаки, оформляет их символьным стилем 'mySpecialChars', (вкладка "Оформление текста", флажок "Создать символьные стили для специальных знаков и других алфавитов") но поскольку в установках этого стиля шрифт не определён, то приложение абзацного стиля будет причиной появления розовых квадратиков.

Другая ситуация — они могут появиться после приведения в порядок сносок скриптом: там тоже есть присвоение предопределенного абзацного стиля, и символ, к которому приложен символьный стиль 'mySpecialChars', может превратиться в квадратик. Но цвет и присвоенный символьный стиль останутся.

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

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

Но если после приложения абзацного стиля появились квадратики, то просто добавление в установки 'mySpecialChars' информации об используемом шрифте на вёрстку не повлияет: после названия символьного стиля будет плюсик, но квадратик в символ не превратится. Надо переопределить все стилевое оформление всех знаков, к которым приложен этот символьный стиль. И для этого подойдет вот такой grep-запрос:

Поиск: ищем точку, оформленную символьным стилем 'mySpecialChars' (точка — это любой алфавитно-цифровой символ)

Замена: поле пустое, только определено, что результат оформлен символьным стилем 'mySpecialChars'.

 

© InDesign • Мастерская вёрстки, 2019-2024. Все права защищены.
 
Идея проекта, все представленные программы, голос за кадром — Михаил Юрьевич Иванюшин.
Юридическая поддержка — ИП Шакурова Резеда Дамировна.  ИНН: 161403515742, ОГРНИП: 318774600195037.
 
Пользуясь сайтом, вы соглашаетесь на обработку сведений о себе, указанных при регистрации. Вот ссылка на документ, регламентирующий данную процедуру: Соглашение с обработкой личных данных. Сбор этой информации — требование, изложенное в федеральном законе № 152-ФЗ от 27.07.2006 (ред. от 22.02.2017) «О персональных данных».
 

Please publish modules in offcanvas position.