Home » Скрипты
Почему знаки становятся розовыми квадратиками и как это исправить
Добавлено admin на 19.10.2023 – 11:45Без комментариев | 584 views
Если знак, или как его иначе называют глиф (glyph), отсутствует в выбранном для этого знака шрифте, то на экране на месте этого символа обычно стоит розовый квадратик. Такая потеря происходит совершенно неожиданно. Например, в Word текст набирался шрифтом Times New Roman, в него помещались греческие буквы. И на экране всё нормально. А после импорта этот текст оформили гарнитурой Лазурского, и все греческие буквы исчезли. Но мы можем этого и не заметить, ошибки найдёт редактор, и он тоже может что-то пропустить.
И даже если редактор всё выловит, самое прескверное в этой ситуации — это удар по вашей репутации, что в вашей вёрстке такая лажа найдена. С точки зрения редактора/корректора любые ошибки форматирования текста — это косяк верстальщика. Но жаль времени и глаз, чтобы выискивать все такие случаи. Поэтому такую тупую работу поиска потерянных глифов лучше поручить скрипту.
Помочь найти такие проблемные знаки и назначить им шрифт, в котором они есть, помогут два скрипта MissedGlyph.OK.v.2. Одна программа в качестве шрифта, в котором предположительно есть все глифы, использует Minion Pro, вторая — Times New Roman. Любую из них легко переделать для использования другого шрифта. Обрабатывается вся статья.
Скрипт ищет потерянные глифы в статье, оформляет их шрифтом, определённым в переменной rightFontName, и отмечает цветом ‘#colorForGlyphes’.
После обработки надо в поиске просмотреть все знаки, отмеченные цветом ‘#colorForGlyphes’, дабы убедиться, что вместо розовых квадратиков возвращены верные символы, и приложить к этим знакам символьный стиль, чтобы не потерять оформление.
Использование DoTextOK для избавления от розовых квадратиков
В большинстве случаев если какой-то знак стал розовым квадратиком, то это или что-то из греческих символов, или экзотическая буква других алфавитов.
Скрипт DoTextOK находит эти знаки, оформляет их символьным стилем ‘mySpecialChars’, (вкладка «Оформление текста», флажок «Создать символьные стили для специальных знаков и других алфавитов») но поскольку в установках этого стиля шрифт не определён, то приложение абзацного стиля будет причиной появления розовых квадратиков.
Другая ситуация — они могут появиться после приведения в порядок сносок скриптом: там тоже есть присвоение предопределенного абзацного стиля, и символ, к которому приложен символьный стиль ‘mySpecialChars’, может превратиться в квадратик. Но цвет и присвоенный символьный стиль останутся.
Как вариант, сразу после обработки скриптом DoTextOK можно определить в стиле ‘mySpecialChars’ используемый шрифт для специальных знаков и других алфавитов, если такой существует для этой задачи.
Тогда стилевая разметка текста не должна влиять на греческие буквы, они в розовые квадратики превратиться не должны.
Но если после приложения абзацного стиля появились квадратики, то просто добавление в установки ‘mySpecialChars’ информации об используемом шрифте на вёрстку не повлияет: после названия символьного стиля будет плюсик, но квадратик в символ не превратится. Надо переопределить все стилевое оформление всех знаков, к которым приложен этот символьный стиль. И для этого подойдет вот такой grep-запрос:
Поиск: ищем точку, оформленную символьным стилем ‘mySpecialChars’ (точка — это любой алфавитно-цифровой символ)
Замена: поле пустое, только определено, что результат оформлен символьным стилем ‘mySpecialChars’.
Когда будет обновление DoTextOK, эти скрипты будут включены в комплект. Но когда это будет, я не знаю, а проблема с глифами у многих коллег выскакивает периодически, как чёрт из коробки. Вот избавление от этой напасти. Лента сообщений со временем улетит вниз, но вы можете найти эти программы в бесплатных скриптах.
Ранее мы рассматривали:
Поиск/замена отсутствующих шрифтов при помощи скрипта
Ударения в вёрстке (прощание с розовыми квадратиками)
Решение от Питера Карела (Peter Kahrel)
Последние комментарии