Шрифт ttc что это
Шрифты TrueType «изнутри».
Пожалуй, самый распространённый на сегодняшний день формат шрифтов это TrueType и его расширение – OpenType.
Стандарт TrueType разработан компанией Apple в конце 1980-х годов и представляет собой векторное описание символов шрифта, что позволяет их легко масштабировать. Файл шрифта состоит из нескольких двоичных таблиц, которые описывают различные свойства шрифта.
Первые компьютеры Apple использовали процессоры Motorolla 68xxx, которые имели отличный от архитектуры x86 порядок байт в машинном слове. При работе непосредственно с файлом шрифтов необходимо учитывать этот факт.
Для чего может понадобиться знание внутреннего устройства шрифта? Например, некоторые форматы документов (pdf, xps) позволяют включать файл шрифта непосредственно в документ. Это делается для того, чтобы документ правильно отображался на системе, где не установлен шрифт, используемый в документе. Но даже внедрение шрифта не обязывает знать его структуру. Так зачем же может понадобиться знание внутреннего устройства шрифта? Дело в том, что внедрение даже одного шрифта способно увеличить размер документа во много раз. Это цена, которую приходится платить за возможность использования документа на любой платформе и любом устройстве. Стоит ли говорить, что внедрение нескольких шрифтов может на порядки увеличить размер документа? Именно поэтому возникает необходимость «обрезать» шрифт, оставив в нём только необходимую информацию, например, удалить из шрифта данные о начертаниях символов, не используемых в документе.
Итак, настало время внимательно рассмотреть содержимое TTF файла. Посмотрим, из чего же состоит шрифт Arial из Windows 7. В нём обнаружены следующие таблицы:
Соответственно, при сжатии шрифта, вместе с перестройкой и сжатием таблицы глифов, перестраивается таблица loca. Помимо информации о позиции глифа, из этой таблицы можно получить информацию о количестве байт, занимаемые глифом. На приведённом выше рисунке можно увидеть, что элементы с номерами 1, 2, 3 и 4 имеют одинаковое значение. Дело в том, что количество байт, необходимых для отрисовки символа, можно получить вычитая текущую позицию из позиции следующего элемента таблицы. Например, из фрагмента вышеприведённой таблицы loca, видно, что информация, необходимая для изображения первого символа (элемент 0), занимает 42 байта. Если какой-то символ не имеет графического отображения в таблице глифов, то следующий элемент будет начинаться с той же самой позиции. Таким образом символы, определяемые элементами 1, 2 и 3 не имеют графического представления. Символ, определяемый четвёртым элементом, начинается со смещения 42 и занимает 172 байта.
Буква Ё неслучайно взята для примера, в найденной позиции таблицы glyf Вы не найдёте буквы Ё. Причина в том, что эта буква является составной из двух глифов – из глифа Е и глифа «комбинированный диарезис» (две точки над символом). Соответственно, в найденной позиции будет описание взаимного расположения и индексы простых глифов, из которого образован составно глиф. Этот момент необходимо учитывать, чтобы при упаковке таблицы по ошибке не удалить части составного глифа.
Таким образом, при переходе от кода символа к его графическому представлению всегда используются три таблицы. А что же остальные таблицы? Часть из них необходима, а часть необязательна, но позволяют улучшить вид печатаемого документа. Например, некоторые шрифты могут содержать в себе тщательно нарисованные художниками графические образы символов, для их корректного отображения на устройствах с низким DPI (графическим разрешением, определяющим количество точек на 1 дюйм). В большинстве случаев можно исключить эту таблицу при сжатии шрифта. В этом случае документ будет иметь чуть худший вид на экране, но при этом хорошо выглядеть при печати на современных принтерах.
Таблица name содержит текстовые описания шрифта – короткое и полное имя, автор шрифта, версия шрифта, лицензионная информация и другие параметры. Именно из этой таблицы черпают информацию различные программы для каталогизации, просмотра и выбора шрифтов. Например, на рисунке ниже показаны некоторые строки, содержащиеся в шрифте Arial.
Базовые свойства шрифта определяются таблицей head. Её содержимое показано на рисунке ниже.
Поля indexToLocFormat и glyphDataFormat таблицы head определяет формат таблиц loca и glyf, поэтому таблица head должна быть прочитана первой. Даты создания и модификации шрифта указаны в секундах, прошедших с 1 января 1904 года. Параметры xMax, xMin, yMax, yMin описывают прямоугольник, в который вписываются любой глиф шрифта. Важный параметр, использующийся при рисовании символов шрифта – untisPerEm. Он определяет, ширину заглавной латинской буквы M в условных единицах. Значение untisPerEm используется для масштабирования символов при их выводе на физические устройства – экран или принтер.
Русские Блоги
TureType/OpenType, TTF, OTF, TTC
Трансфер от: https://blog.zengrog.net/post/1988.html
Эта статья объясняет некоторые основные знания и операции о шрифтах TTF / OTF:
1. Что такое шрифт TTF и OTF?
Вот полное имя английского языка, бесплатно отправлять TTC
Ну, ленивый, я думаю, что это сложнее писать китаец. Трудно понять (конечно, это оправдание :-)), вот здесь, чтобы процитировать объяснение Microsoft (Оригинальная статья здесь ):
Шрифт TrueType можно настроить до любого размера, а во всех случаях он явно читается. Вы можете отправить их на любой принтер или другое выходное устройство, поддерживаемое Windows. Шрифт OpenType связан с шрифтом TrueType, но включает в себя более широкий базовый расширение набора символов, включая небольшие прописные, числа старых стилей и более сложные формы, такие как «глифы» и «соединение». Шрифт OpenType четко читается под произвольным размером и может быть отправлен на любом принтере или другом устройстве вывода, поддерживаемых Windows.
Нам нужно только знать, что формат OTF относительно продвинутый (ток), формат TTF относительно основной (также в настоящее время).
2. Удалите персонажи, которые не нуждаются в шрифте
Это должно быть приглашено отредактировать инструмент редактирования шрифтов.FontCreatorНесомненно, лучший инструмент для редактирования шрифтов в Windows; Mac OS являетсяGlyphs;fontforgeЭто межплатная платформа с открытым исходным кодом.
Используйте FontCreator, чтобы удалить нежелательные символы
Удалить, наверное, самая легкая вещь. На FontCreat 7.5 персонажи были классифицированы. Переключитесь в соответствующую классификацию, выберите нежелательные символы, удалите его напрямую.
Если вы используете FontCreator 6, вы можете сортировать символы, используя функцию сортировки, предоставляемую меню шрифта, поскольку программное обеспечение не классифицировалось. Затем удалите его.
Вставьте символы с помощью FontCreator
Иногда нам нужно добавить некоторые персонажи в шрифте для B-шрифта для формирования нового шрифта, например,Ябо-Консолас Смешанный шрифтЭто этот шрифт. Шаг должен быть таким:
Используйте FontCreator для замены символов
3. Конверсия TTF / OTF
Часто будут некоторые необъяснимые потребности, а два формата TTF и OTF часто преобразуются. Конечно, как ответственный нелицензионный программист должен соответствовать этим необъяснимым потребностям. Жизнь бросается.
freefontconverterЭтот сайт предоставляет онлайн функцию преобразования. Проще говоря, вы проходите шрифт, затем выберите тип преобразования, затем загрузите один из преобразованных шрифтов.
fontforgeПрограммное обеспечение обеспечивает функциональность преобразования напрямую. Шаг должен быть таким:
Истинные имена TrueType шрифтов и экспорт в PDF
В книге Урсулы Ле Гуин “Волшебник Земноморья” магия требовала знания “истинного имени” того, с чем маг работает. Думаю, любой программист согласится, что идея здравая. URLи, UUIDы и прочие уникальные идентификаторы объектов — это то, с чем мы имеем дело постоянно. И, так же как в волшебном мире, эти истинные имена бывает не так-то просто узнать. По крайней мере для имен шрифтов это так.
Мне нужно было реализовать в нашем программном продукте экспорт текстовых блоков в PDF. Для экспорта используются проприетарные библиотеки Adobe PDF Library (http://datalogics.com/products/pdfl/) и надстройка над ней DLI (Datalogics Library Interface). Не буду углубляться в эти библиотеки, думаю они мало кому интересны. Но полагаю, что проблема, с которой я столкнулся, общая для любой реализации PDF экспорта.
Каждый шрифт (возьмем, например, Arial) имеет 4 различных начертания — обычный, жирный, наклонный и жирный наклонный. Т.е. Arial, Arial Bold, Arial Italic и Arial Bold Italic. Каждое начертание хранится в отдельном TTF файле или в отдельной секции TTC файла. И если мы хотим вывести в PDF файл наклонный или жирный шрифт, мы должны в вызове соответствующей функции явно указать “Arial Italic” или “Arial Bold”. Но в текстовом блоке, который мы экспортируем, указано, что его шрифт “Arial” и отдельно заданы атрибуты Bold и Italic. И EnumFontsFamiliesEx возвращает нам только имя “Arial” и все! В Как же получить нужную нам строку “Arial Italic”?
Очевидное решение — просто приписать строчку “Italic” к имени шрифта — работает не всегда. Например, оно не работает со шрифтом “Lucida Sans Typewriter”. PDF библиотека выдает ошибку, если мы передаем “Lucida Sans Typewriter Italic”.
Ключ к решению (pun intended) — HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts. Достаточно посмотреть в содержимое этого ключа и становится ясно, что нужно было передать “Lucida Sans Typewriter Oblique”. Тогда все работает.
Формат записей в этом ключе нигде не документирован, но, вроде бы, очевиден:
«Arial (TrueType)»=«arial.ttf»
«Arial Italic (TrueType)»=«ariali.ttf»
«Arial Bold (TrueType)»=«arialbd.ttf»
«Arial Bold Italic (TrueType)»=«arialbi.ttf»
«Batang & BatangChe & Gungsuh & GungsuhChe (TrueType)»=«batang.ttc»
…
«Mangal (TrueType)»=«mangal.ttf»
«Mangal Bold (TrueType)»=«mangalb.ttf»
«Meiryo & Meiryo Italic & Meiryo UI & Meiryo UI Italic (TrueType)»=«meiryo.ttc»
«Meiryo Bold & Meiryo Bold Italic & Meiryo UI Bold & Meiryo UI Bold Italic (TrueType)»=«meiryob.ttc»
«MS Gothic & MS PGothic & MS UI Gothic (TrueType)»=«msgothic.ttc»
…
«Lucida Sans Typewriter Regular (TrueType)»=«LTYPE.TTF»
«Lucida Sans Typewriter Bold (TrueType)»=«LTYPEB.TTF»
«Lucida Sans Typewriter Bold Oblique (TrueType)»=«LTYPEBO.TTF»
«Lucida Sans Typewriter Oblique (TrueType)»=«LTYPEO.TTF»
Видно, что для TTC коллекций шрифты, содержащиеся в них, указаны через “ & “.
Алгоритм для установления соответствия между общим именем шрифта и именами начертаний получается такой: для каждого имени начертания отрезаем по одному слову с конца, пока остаток не совпадет с каким-нибудь именем, полученным из EnumFontsFamiliesEx. Кроме того отрезанные слова проверяем на совпадение со словами “Bold”, “Ilalic”, “Semibold”, “Oblique” и запоминаем соответcтвующий атрибут для этого начертания. Например для семейства“Lucida Sans Typewriter”:
Теперь если нужно вывести шрифт “Lucida Sans Typewriter” жирным и наклонным, то мы знаем, что этому начертанию соответствуюет имя “Lucida Sans Typewriter Bold Oblique” и передаем это имя в PDF библиотеку.
Тут, правда, поджидает еще одна неприятность. Например шрифт “Mangal” имеет только жирное начертание (“Mangal Bold”), а вот наклонного у него нет. Хотя мы можем поставить атрибут “наклонный” этому шрифту и Windows GDI в этом случае самостоятельно исказит имеющееся начертание при выводе на экран. При экспорте в PDF же придется проделать это самостоятельно. PDF библиотека может позволить задать матрицу преобразования при выводе текста. Например, в моем случае, это выглядело так:
ASFixedMatrix fontSkew;
if (bSimulateItalic)
<
double angle = 15;
fontSkew.a = fixedOne; // x scale
fontSkew.b = fixedZero; // rotate & skew
fontSkew.c = FloatToASFixed(tan(_PI * angle / 180)); // rotate & skew
fontSkew.d = fixedOne; // y scale
fontSkew.h = 0; // x translation
fontSkew.v = 0; // y translation
dlpdfcontentfontskew(. &fontSkew);
>
Для имитации жирного шрифта красивого решения я не нашел. Я просто печатаю строку, которую надо вывести жирным, несколько раз с небольшим сдвигом. Визуально все выглядит нормально, но расстраивает, что текст в PDF файле дублируется.
Кстати, если уж мы узнаем, что “MS Pゴシック” это “MS Gothic”, то это решает и вторую проблему, по крайней мере для случая, когда в реестре хранится английское имя. Мы просто передадим в PDF библиотеку имя “MS Gothic” и все заработает. Остается установить это соответствие.
Для большинства начертаний из HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts мы поставили в соответствие имена шрифтов из EnumFontsFamiliesEx. Но для некоторых начертаний пары не нашлось. Еще бы — в реестре у нас “MS Gothic”, а EnumFontsFamiliesEx вернул “MS Pゴシック”.
В этом случае остается только самостоятельно разобрать TTF/TTC файл и найти там соответствующее японское имя.
Разбор TTC/TTF файла — задача несложная. За работающий образец можно взять исходники проекта “ttf2eot” code.google.com/p/ttf2eot. Сам формат TTF/TTC хорошо документирован на сайте Microsoft: www.microsoft.com/typography/otspec. Обратить внимание надо на то, что все данные в TTF хранятся в big endian формате, так что все числа и Unicode-строки надо конвертировать перед использованием.
Свой код я, к сожалению, выложить не имею права, поэтому лишь напишу здесь, что искать.
Одно из найденных имен совпадет с каким-то именем из EnumFontFamiliesEx.
Например для начертания “Meiryo Bold Italic” разобрав meiryob.ttc мы узнаем, что этому начертанию соответствует имя “メイリオ” из EnumFontFamiliesEx.
Остается узнать, является ли это начертание жирным и наклонным. Напрашивается идея тоже взять эту информацию из шрифта, но, как выяснилось экспериментально, эти атрибуты в файле шрифта могут быть неверными. Поэтому возьмем их из имени начертания (“Meiryo Bold Italic”), как уже делали выше. Только отрезать слова будем до тех пор, пока остаток не совпадет с любым именем, извлеченным из TTF файла, а не из выдачи EnumFontFamiliesEx.
Таким образом, если надо экспортировать текстовый блок, набранный наклонным и жирным шрифтом с именем “メイリオ”, мы передаем в PDF библиотеку имя “Meiryo Bold Italic”. Профит!
Расширение файла TTC
TrueType Font Collection
Что такое файл TTC?
Программы, которые поддерживают TTC расширение файла
В следующем списке перечислены программы, совместимые с файлами TTC, которые разделены на категории 3 в зависимости от операционной системы, в которой они доступны. Файлы с расширением TTC, как и любые другие форматы файлов, можно найти в любой операционной системе. Указанные файлы могут быть переданы на другие устройства, будь то мобильные или стационарные, но не все системы могут быть способны правильно обрабатывать такие файлы.
Программы, обслуживающие файл TTC
Как открыть файл TTC?
Проблемы с доступом к TTC могут быть вызваны разными причинами. К счастью, наиболее распространенные проблемы с файлами TTC могут быть решены без глубоких знаний в области ИТ, а главное, за считанные минуты. Приведенный ниже список проведет вас через процесс решения возникшей проблемы.
Шаг 1. Скачайте и установите Microsoft Windows Font Viewer
Основная и наиболее частая причина, препятствующая открытию пользователями файлов TTC, заключается в том, что в системе пользователя не установлена программа, которая может обрабатывать файлы TTC. Наиболее очевидным решением является загрузка и установка Microsoft Windows Font Viewer или одной из перечисленных программ: Microsoft Windows, FontForge. Полный список программ, сгруппированных по операционным системам, можно найти выше. Одним из наиболее безопасных способов загрузки программного обеспечения является использование ссылок официальных дистрибьюторов. Посетите сайт Microsoft Windows Font Viewer и загрузите установщик.
Шаг 2. Убедитесь, что у вас установлена последняя версия Microsoft Windows Font Viewer
Если проблемы с открытием файлов TTC по-прежнему возникают даже после установки Microsoft Windows Font Viewer, возможно, у вас устаревшая версия программного обеспечения. Проверьте веб-сайт разработчика, доступна ли более новая версия Microsoft Windows Font Viewer. Разработчики программного обеспечения могут реализовать поддержку более современных форматов файлов в обновленных версиях своих продуктов. Если у вас установлена более старая версия Microsoft Windows Font Viewer, она может не поддерживать формат TTC. Последняя версия Microsoft Windows Font Viewer должна поддерживать все форматы файлов, которые совместимы со старыми версиями программного обеспечения.
Шаг 3. Настройте приложение по умолчанию для открытия TTC файлов на Microsoft Windows Font Viewer
Если проблема не была решена на предыдущем шаге, вам следует связать TTC файлы с последней версией Microsoft Windows Font Viewer, установленной на вашем устройстве. Метод довольно прост и мало меняется в разных операционных системах.
Процедура изменения программы по умолчанию в Windows
Процедура изменения программы по умолчанию в Mac OS
Шаг 4. Убедитесь, что TTC не неисправен
Вы внимательно следили за шагами, перечисленными в пунктах 1-3, но проблема все еще присутствует? Вы должны проверить, является ли файл правильным TTC файлом. Отсутствие доступа к файлу может быть связано с различными проблемами.
1. Проверьте TTC файл на наличие вирусов или вредоносных программ.
Если TTC действительно заражен, возможно, вредоносное ПО блокирует его открытие. Немедленно просканируйте файл с помощью антивирусного инструмента или просмотрите всю систему, чтобы убедиться, что вся система безопасна. TTC файл инфицирован вредоносным ПО? Следуйте инструкциям антивирусного программного обеспечения.
2. Убедитесь, что файл с расширением TTC завершен и не содержит ошибок
Если файл TTC был отправлен вам кем-то другим, попросите этого человека отправить вам файл. В процессе копирования файла могут возникнуть ошибки, делающие файл неполным или поврежденным. Это может быть источником проблем с файлом. Это может произойти, если процесс загрузки файла с расширением TTC был прерван и данные файла повреждены. Загрузите файл снова из того же источника.
3. Убедитесь, что у вас есть соответствующие права доступа
Существует вероятность того, что данный файл может быть доступен только пользователям с достаточными системными привилегиями. Войдите в систему, используя учетную запись администратора, и посмотрите, решит ли это проблему.
4. Убедитесь, что ваше устройство соответствует требованиям для возможности открытия Microsoft Windows Font Viewer
Операционные системы могут иметь достаточно свободных ресурсов для запуска приложения, поддерживающего файлы TTC. Закройте все работающие программы и попробуйте открыть файл TTC.
5. Проверьте, есть ли у вас последние обновления операционной системы и драйверов
Современная система и драйверы не только делают ваш компьютер более безопасным, но также могут решить проблемы с файлом TrueType Font Collection. Устаревшие драйверы или программное обеспечение могли привести к невозможности использования периферийного устройства, необходимого для обработки файлов TTC.
Вы хотите помочь?
Если у Вас есть дополнительная информация о расширение файла TTC мы будем признательны, если Вы поделитесь ею с пользователями нашего сайта. Воспользуйтесь формуляром, находящимся здесь и отправьте нам свою информацию о файле TTC.
У меня есть как Mac под управлением OS X 10.6 Snow Leopard, так и ПК под управлением Windows 7.
На моем Mac есть шрифт под названием «AmericanTypewriter.ttc». Я хотел бы использовать этот шрифт на моем ПК для конкретного творческого проекта. Мне удалось скопировать фактический файл шрифта на ПК, но когда я пытаюсь установить его в папку Windows Fonts, я получаю следующее сообщение об ошибке:
Тем не менее, я все еще получаю сообщение об ошибке, подобное приведенному выше, когда я пытаюсь установить результирующий файл AmericanTypewriter.ttf на Windows. Я снова в тупике.
ps мне больше не нужен этот шрифт в Windows, но теперь я решил выяснить, почему и как 🙂
Конвертируйте ttc в ttf с помощью onlinefontconverter.com (разработанного мной ), например:
Но какие шрифты может использовать Macintosh?
Какие шрифты может использовать Windows?
Это даст вам отчет о любых проблемах со шрифтом. И этот отчет сможет дать вам отправную точку в том, что необходимо исправить, и / или, если это вообще возможно.
Я думаю, вам просто не повезло с этим конкретным шрифтом (без конвертации ).
На Mac шрифт в /Library/Fonts/AmericanTypewriter.ttc обозначается как:
Действительно, первые 4 байта являются магическим числом для ttcf :
Итак, это, безусловно, файл, в котором утверждается, что он использует формат TrueType Collection от Microsoft. Согласно Википедии:
Сначала они были доступны в китайской, японской и корейской версиях Windows и поддерживались для всех регионов в Windows 2000 и более поздних версиях.
Mac OS включала поддержку TTC, начиная с Mac OS 8.5.
Mac OS X также работает с форматами шрифтов, используемыми Microsoft Windows. Эти шрифты хранят все свои данные в ветке данных и не имеют дополнительных ресурсов, найденных в шрифтах Macintosh.
Быстрый тест с использованием инструмента Microsoft Font Validator в Windows XP не показывает никаких ошибок. Но полный тест показывает, среди многих ошибок рендеринга, некоторые вещи, которые я не знаю, как интерпретировать. Обратите внимание, что E2132 и E1607 могут указывать на то, что средство проверки устарело, что также может вызывать некоторые другие ошибки:
E2008 Строка PostScript отсутствует для обеих требуемых платформ. Строка MS Postscript отсутствует, но есть строка Mac Postscript.
Шрифты OpenType, включающие в себя имя PostScript для шрифта, должны включать имена для Platform 1 Encoding 0 (Mac) и Platform 3 Encoding 1 ( Microsoft).
E2127 Длина таблицы не соответствует ожидаемой длине для этой версии.
Эта ошибка указывает на структурную проблему со шрифтом. Структурные ошибки могут быть вызваны: инструментом шрифта, неправильно генерирующим файл шрифта; лицо, изменяющее содержимое допустимого файла шрифта; или другое повреждение файла шрифта. Восстановите шрифт или обратитесь к поставщику шрифта, чтобы получить действительную версию шрифта.
E1305 Неправильная контрольная сумма шрифта 0x25a37feb
Эта ошибка указывает на структурную проблему со шрифтом. Структурные ошибки могут быть вызваны: инструментом шрифта, неправильно генерирующим файл шрифта; лицо, изменяющее содержимое допустимого файла шрифта; или другое повреждение файла шрифта. Восстановите шрифт или обратитесь к поставщику шрифта, чтобы получить действительную версию шрифта.
E1303 Флаг нелинейного масштабирования (бит 4) сброшен, но присутствует таблица hdmx.
Установка бита 4 поля флагов для очистки указывает на то, что ширина продвижения глифов будет линейно масштабироваться, поскольку инструкции хинтинга не изменят ширину продвижения. Наличие таблицы hdmx указывает на то, что на указание подсказок может повлиять ширина продвижения глифов в этом шрифте. Установите этот бит, чтобы указать, что ширина продвижения может не масштабироваться линейно.
E1607 Версия таблицы не была 0 версия = 1, нераспознанная версия #, дальнейшие тесты не могут быть выполнены.
Версия 0 является единственной версией таблицы ядра, определенной в настоящее время. Исправьте это поле, используя инструмент редактирования таблицы или редактор ядра, который создает допустимую таблицу ядра.
E2014 Строки версии Unicode от Microsoft не найдены
Строки имени требуются для обеих платформ. Используйте инструмент редактирования таблиц, чтобы добавить строки имен для Windows.
Кроме того, он показывает много информационных сообщений, таких как:
Итак, если Microsoft Font Validator прав, то я предполагаю, что Apple плохо справилась с реализацией спецификаций. (А может, даже нарочно, чтобы остановить распространение шрифта в Windows?)