Кодування вхідних і вихідних даних

Якщо ми натиснемо клавішу на клавіатурі, буде згенеровано деякий числовий код, який представлятиме певний символ. Вхідне кодування відображає символ у відповідний код. Наприклад, на німецькій клавіатурі символи з акцентами (такі як символ «умляут») можуть бути зіставлені з різними кодами в різних операційних системах.

Документ, що зберігається в комп’ютерному файлі, містить лише коди символів, але інформація про вхідне кодування явно не включена. Таким чином, якщо ви перенесете файл в інше середовище, наприклад, зі Сполучених Штатів до Сполученого Королівства, ви можете виявити, що знаки долара у вашому документі раптово інтерпретуються як символи фунтів, коли ви переглядаєте файл за допомогою програми, яка робить неправильне припущення щодо вхідного кодування.

Пакет inputenc, розроблений командою проекту LaTeX, був призначений для вирішення проблем кодування введення. Це дозволяє користувачам явно вказувати вхідне кодування, яке використовується для документів або частин документів. Цей механізм дозволяє безпечно передавати документи з однієї інсталяції LaTeX до іншої з отриманням однакових результатів друку.

Пакет inputenc інтерпретує коди символів у файлі та відображає їх у внутрішньому представленні LaTeX, яке унікальним чином охоплює всі символи, представлені в LaTeX. Під час подальшої обробки, такої як запис у допоміжний файл, LaTeX використовує це внутрішнє представлення, таким чином уникаючи будь-якої неправильної інтерпретації.

Однак рано чи пізно LaTeX повинен пов’язати ці внутрішні представлення символів із гліфами (формами символів у певних шрифтах), тому потрібне інше відображення. У будь-якому шрифті TeX є не більше 256 гліфів. Ці гліфи адресуються не за назвою, а за допомогою 8-бітних чисел, що представляють положення гліфів у шрифті. Це означає, що ми маємо відобразити великий унікальний простір імен у кілька маленьких, і ці позиції гліфів можуть сильно відрізнятися, що не дивно.

Таким чином, незважаючи на те, що ми зберегли значення знака долара із зовнішнього файлу у внутрішній частині LaTeX, ми все одно могли виявити неправильні фігури на папері, якщо вибрали для друку шрифт, який містить неочікуваний гліф у позиції, яку ми припустили, зарезервовано для долара знак. Одне із завдань NFSS (Нова схема вибору шрифтів LaTeX) полягає в тому, щоб переконатися, що будь-яке внутрішнє представлення символів LaTeX правильно відтворено, або, якщо це неможливо з певних причин, що користувач отримує правильне повідомлення про помилку.

Якщо шрифт містить символи з наголосами як окремі гліфи, а не лише базові символи та наголоси (з яких TeX будує внутрішні символи з наголосами), тоді використання цих гліфів є кращим, оскільки вони зазвичай мають кращий вигляд. Ще одна (технічна) причина використання цих складених гліфів полягає в тому, що примітив \accent пригнічує переноси.

Для різних випадків така команда, як \'e (внутрішнє представлення LaTeX для символу ’e-acute’), інколи має ініціювати складні дії, пов’язані з примітивом \accent, а іноді вона просто інформує конструктор абзаців, що вона потрібен гліф із певного слота (позиції) у поточному шрифті.

Усе це досягається за допомогою концепції вихідних кодувань, які є відображеннями внутрішніх представлень символів LaTeX на відповідні позиції гліфів або на дії зі створення гліфів, залежно від фактичних гліфів, доступних у шрифті, який використовується для набору.

У наступних статтях обговорюється випуск 2 NFSS, який став частиною стандарту LaTeX у 1994 році.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.