Как посмотреть шрифты принтера
Процедура печати предъявляет особые требования при настройке любого компьютера, но, так как разные принтеры имеют разные возможности, она продолжает быть одной из самых обременительных частей при инсталляции. В Windows XP процесс печати более удобный, чем в предыдущих версиях Windows. Отличительной чертой новой версии программы является применение драйверов на основе архитектуры Windows Driver Model (WDM), которые должны повысить надежность драйверов принтера и упростить их использование.
Управление шрифтами также стало проще, чем в прежних версиях Windows. Windows XP размещает их в отдельной папке и предоставляет утилиту для управления шрифтами. К сожалению, некоторые производители воспользовались простотой работы, которую обеспечивает Windows XP, и стали поставлять специальные шрифты для каждого приложения, что приводит к захламлению жесткого диска ненужными шрифтами. Короче говоря, вы должны использовать возможности управления, которые предоставляет Windows XP, чтобы избавиться от лишних шрифтов.
В следующих разделах я расскажу о сложном мире принтеров и шрифтов, научу вас пользоваться свойствами для управления принтером и опишу некоторые занимательные аспекты среды Windows XP. Кроме того, мы поговорим о типах шрифтов, которые можно установить на вашем принтере, и о том, как можно хранить разумное количество шрифтов на вашей машине.
Прежде чем включать принтер, его нужно установить и настроить. В разделе «Установка специальных программ для принтера» главы 7 объясняется, как производить установку специальных файлов. В главе 9 рассматриваются несколько наиболее эффективных способов использования вашего принтера. Особого внимания заслуживают разделы «Использование шрифтов» и «Использование принтеров» главы 9. Следующие разделы содержат подробную инструкцию по установке принтера и несколько полезных подсказок.
Папка Принтеры и факсы
Даже если в вашей системе не установлены принтеры, на панели управления находится папка Принтеры и факсы (Printers and Faxes). Вы можете ее открыть также с помощью меню Пуск ? Настройка (Start ? Settings) и посредством программы Проводник. Как минимум эта папка содержит приложение, позволяющее установить новый принтер. Существует два вида установки: локальная и сетевая.
Установка локального принтера
Локальный принтер подключается к вашей системе через параллельный, последовательный или USB-порт. Windows XP может посчитать принтер локальным, если вы подключите его непосредственно к сети через локальное соединение TCP/IP. Далее я опишу специальные требования для данного типа подключения и расскажу о некоторых особенностях конфигурирования локального принтера.
Для установки локального принтера выполните следующее:
1. Воспользуйтесь командой Пуск ? Настройка ? Принтеры и факсы, чтобы открыть папку Принтеры и факсы. Возможно, в папке, кроме значка Установка принтера (Add Printer), уже находятся один или несколько принтеров.
2. Щелкните дважды по значку Установка принтера. Откроется диалоговое окно Мастера установки принтера (Add Printer Wizard).
3. Нажмите Далее (Next). Появится диалоговое окно Локальный принтер или подключение к принтеру (Local or Network Printer). Здесь вы должны указать, будет данный принтер сетевым или локальным. Выбрав опцию Сетевой принтер, подключенный к другому компьютеру, вы сможете использовать принтер, установленный в сети. Обратите внимание: это диалоговое окно содержит опцию для автоматического обнаружения и настройки принтера, поддерживающего технологию Plug and Play. Некоторые новые модели принтеров имеют стандарт Plug and Play. Большая часть принтеров, произведенных более двух лет назад, не соответствуют требованиям данной технологии, так что Windows XP не обнаруживает их. Если вы активизируете опцию для автоматического определения и настройки принтера Plug and Play, а Мастер не сможет найти ваш принтер, то далее вы будете устанавливать его вручную.
Данный текст является ознакомительным фрагментом.
Продолжение на ЛитРес
8.2. Шрифты
8.2. Шрифты Шрифт – это лицо текста, поэтому для начала научимся задавать нашему тексту нужный шрифт. Двигаясь дальше, подробно рассмотрим все возможные варианты работы со шрифтом текста. Итак, начнем с семейства
Шрифты
Шрифты (5.1) Вместо русских букв в некоторых программах показываются закорючки. Запустите апплет Control Panel?Regional Options. На закладке General есть два раздела, Settings for the current user и Language settings for the system. Первый раздел настраивает локаль для конкретного пользователя и отвечает за то, в
Шрифты.
Шрифты. 5.1. Вместо русских букв в некоторых программах показываются закорючки. Запустите апплет Control Panel -> Regional and Languadge Options. На закладке Regional Options есть два раздела, Standarts and formats и Location. Первый раздел настраивает локаль для конкретного пользователя и отвечает за то, в
9.6.6. Шрифты для Ghostscript
9.6.6. Шрифты для Ghostscript Для пакета Ghostscript разработаны PostScript-шрифты, которые обеспечивают высокое качество печати на не-PostScript принтерах. Такие шрифты наверняка найдутся на вашем дистрибутивном диске в виде пакета ghostscript-fonts. Однако именно со шрифтами и связано большинство
Глава 11. Русификация и шрифты
Глава 11. Русификация и шрифты Может возникнуть вопрос: а надо ли подробно разбирать вопрос русификации, не лучше ли просто сразу установить русифицированный дистрибутив? Тем более, что в последних версиях дистрибутивов Red Hat Cyrillic Edition, ASPLinux и AltLinux русификация выполнена на
Глава 26 Темы GNOME и шрифты
Глава 26 Темы GNOME и шрифты Я рассказал уже почти всё про изменение эргономики вашей рабочей среды, что называется «под себя», теперь же я объясню, как раскрасить ваш GNOME в ваши любимые цвета.Для этого вам снова понадобится программа редактирования внешнего вида, с которой вы
26.1 Шрифты
26.1 Шрифты Теперь немного про настройку шрифтов системы. Для неё также предназначена одна из вкладок программы редактирования внешнего вида: Рис. 26.5: Вкладка редактирования шрифтов. Рис. 26.5: Вкладка редактирования шрифтов.Собственно, тут всё просто и понятно, с помощью
Шрифты
Шрифты Операционная система использует в своей работе множество разнообразных шрифтов. Любое программное обеспечение, устанавливаемое в системе, также может добавлять свой набор шрифтов. Чтобы иметь понятие об установленных шрифтах, а также управлять их
Шрифты
Шрифты Вы можете изменять вид системных шрифтов. Для этого необходимо в разделе HKLM/System/GDI/SYSFNTизменить следующие параметры. - Ht - можете задать высоту шрифтов- It - Для нормального шрифта значение равно 0, для курсива равно 1- Nm - Имя шрифта. По умолчанию используется Tahoma. Можно
Как проинсталлировать свои шрифты?
Как проинсталлировать свои шрифты? Добавить фонт (.fon, .fot, .fnt, .ttf) в систему можно след. образом:AddFontResource( PChar( my_font_PathName < AnsiString >) );var ss: array [ 0..255 ] of Char;AddFontResource(StrPCopy(ss, my_font_PathName));SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);Убрать его по окончании работы:RemoveFontResource (
Шрифты
Шрифты Когда-то давно, когда никаких компьютеров еще не было, люди все же ухитрялись печатать книги. И делали они это с помощью наборного шрифта – отдельных букв и знаков, отлитых в металле, из которых составлялись строки, 16 из строк – страницы и т. д. Процесс этот был
Шрифты
Шрифты В каждой ячейке данные могут быть выделены разными шрифтами, причем даже в одной ячейке текст может содержать разные шрифты и атрибуты. Шрифты используются в основном для красивого оформления документа. Так, незначимые данные можно выводить обычным, применяемым
Меняем шрифты
Меняем шрифты Как вы, должно быть, помните, добавление и удаление шрифтов в Windows производится с помощью значка Шрифты на Панели управления. А уж добавлять шрифты, в дополнение к уже установленным в системе, наш брат – пользователь любит до невозможности. Так хочется
Шрифты
Шрифты В поставку системы входит некоторое количество шрифтов, которого вполне достаточно для дальнейшей работы. Однако иногда хочется установить дополнительные шрифты, например декоративные или имитирующие рукописный текст и т. д. Кроме того, настоятельно
Отображение диалогового окна свойств принтера из папки «Принтеры и факсы» (в операционной системе Windows 2000 — из папки «Принтеры»).
В операционной системе Windows XP Home Edition нажмите кнопку «Пуск», выберите команду «Панель управления», щелкните значок «Принтеры и другое оборудование», а затем — «Принтеры и факсы».
В операционной системе Windows 2000 нажмите кнопку «Пуск», наведите указатель на пункт «Настройка» и выберите команду «Принтеры».
2 Щелкните правой кнопкой мыши значок требуемого принтера и выберите из списка команду «Свойства».
Чтобы отобразить из приложения (при настройке параметров для каждого задания печати)
Отображение диалогового окна «Свойства документа».
1 В меню «Файл» данного приложения выберите команду «Печать».
В некоторых приложениях в меню «Файл» требуется выбрать пункт «Параметры принтера».
2 Выберите требуемый принтер и нажмите кнопку «Свойства».
Будет отображено диалоговое окно «Свойства документа».
Чтобы отобразить из папки «Принтеры и факсы» (при настройке параметров по умолчанию)
В операционной системе Windows XP Home Edition нажмите кнопку «Пуск», выберите команду «Панель управления», щелкните значок «Принтеры и другое оборудование», а затем — «Принтеры и факсы».
В операционной системе Windows 2000 нажмите кнопку «Пуск», наведите указатель на пункт «Настройка» и выберите команду «Принтеры».
2 Щелкните правой кнопкой мыши значок требуемого принтера и выберите из списка команду «Настройка печати».
Будет отображено диалоговое окно «Настройка печати».
Более подробные сведения можно получить в указанных ниже разделах.
Замена шрифтов TrueType шрифтами принтера для ускоренной печати
Замена шрифтов TrueType шрифтами принтера ускоряет печать.
1 Откройте диалоговое окно свойств принтера. Подробности:
2 Откройте вкладку «Параметры устройства».
3 В параметре «Таблица подстановки шрифтов» выберите шрифт, который требуется заменить, а затем в списке справа от шрифта выберите замещающий шрифт.
5 Откройте диалоговое окно «Настройка печати». Подробности:
6 На вкладке «Расположение» или «Бумага и качество печати» нажмите кнопку «Дополнительно».
Откроется диалоговое окно «Дополнительные возможности».
7 Установите для параметра «Графика» — «Шрифт TrueType» значение «Использовать встроенный шрифт».
Шрифты, которые находятся на принтерах, иногда могут быть полезны и трудно использовать в коде программы приложений. В этой статье описывается, как определить, какие шрифты устройств с резидентом принтера доступны для использования в контексте устройства-принтера Win32. В статье также описаны некоторые проблемы, которые могут возникнуть при попытке использовать эти шрифты принтера в коде приложения.
Оригинальная версия продукта: Устройство принтера Win32
Исходный номер КБ: 201978
Аннотация
В большинстве случаев разработчик программного обеспечения использует операционную систему для предоставления шрифтов, которые будут использоваться для ее рисования. Для этого можно выбрать шрифт, поставляемый операционной системой, через интерфейс программирования приложений (API) или через общий диалоговое окно Выберите шрифт. Однако приложение, как правило, не касается конкретного шрифта, который используется, только он отвечает определенным требованиям и пользователь предпочитает шрифт. К этим требованиям относятся:
- Шрифт должен быть определенного размера.
- Шрифт должен содержать символы (иначе известные как глифы).
- Шрифт должен иметь определенный стиль.
Обычно, когда приложение печатает документ, шрифт (или шрифт, похожий на него) используется на принтере без какого-либо конкретного действия из приложения. Это, как правило, правильный результат для приложения, и это дает хорошие печатные результаты с разумной скоростью.
Однако иногда разработчику приложений может потребоваться выбрать только определенный шрифт конкретно из целевого принтера. Исторически это было необходимо для принтеров типа impact (например, принтеров дот-матрицы) для получения определенного форматирования или ускорения печати.
В настоящее время большинство принтеров принципиально разработаны как устройства raster и могут нарисовать точку (пиксель) на любой части бумаги так же эффективно, как и все символы глифа. Для большинства приложений не является проблемой, рисуется ли глиф символов в виде целой формы из определения резидента принтера или обращается в виде коллекции пикселей, которые предоставляет операционная система. Однако может потребоваться использовать шрифт, который предоставляет только принтер. Например, это может произойти, так как шрифт уникален и не имеет аналогичной замены в операционной системе или, возможно, потому, что вы хотите избежать накладных расходов на загрузку определения шрифта на принтер.
Шрифты устройств
Для целей этой статьи шрифты устройств — это любые шрифты, определение которых существует постоянно или ненадолго в памяти принтера. Эти шрифты устройств предоставляют определение символа глифа, которое может быть рассмотрено на символ с помощью оборудования расширителя страницы принтера, чтобы вковать фигуру на бумагу.
Шрифты устройств можно классифицизировать на три основных типа:
Истинные шрифты устройств. Для целей этой статьи это шрифты, которые предоставляет только оборудование принтера и которые можно использовать только на принтере.
Замена шрифта устройства. Шрифты, которые существуют в операционной системе и что оборудование принтера также предоставляет. В этом случае оборудование принтера может заменить шрифты операционной системы.
Загружаемые шрифты. Шрифты, которые предоставляет операционная система, но определение которых можно скачать на принтер и использовать на принтере, как если бы оборудование принтера непосредственно предоставило шрифты.
Загружаемые шрифты
Операционная система предоставляет загружаемые шрифты, которые также называются мягкими шрифтами. При печати документа определение шрифта предоставляется в качестве части задания печати. Когда принтер обрабатывает задание печати, определение шрифта устанавливается в памяти принтера, чтобы определение шрифта можно было вкошел на печатную страницу документа.
Некоторые утверждают, что, поскольку принтер рисует символы шрифта, эти шрифты являются шрифтами устройств. Однако при загрузке определения шрифта или при натягии глифа на принтер с помощью bitmap сохраняются только некоторые накладные расходы или размер печатных рабочих мест. Этот процесс происходит прозрачно для приложения, чтобы шрифт в операционной системе можно было использовать на экране и на принтере. Поскольку в этой статье основное внимание уделяется использованию шрифтов устройств, которые предоставляет только принтер, в этой статье не описывается использование загружаемых шрифтов.
Замена шрифта устройства
Замена шрифта устройства происходит, когда существует два различных определения шрифтов: одно, которое использует операционная система, и одно, которое использует принтер. То есть приложение выбирает и использует шрифт в операционной системе в документе на экране. При печати документа печатный вывод обращается с помощью аналогично определенного шрифта, который предоставляет принтер. Поэтому шрифт в операционной системе был заменен на принтере шрифтом, определенным принтером.
Обычно это происходит на PostScript принтерах при Windows шрифта TrueType. Примером этого является шрифт TrueType Arial, который обычно печатается с помощью определения PostScript шрифта для шрифта Helvetica на большинстве PostScript устройств. Это пример замены с помощью аналогичного шрифта, имя шрифта которого отличается. В этом случае обычно можно найти и использовать это аналогичное определение шрифта напрямую, так как аналогичное определение шрифта также подвергается действию в качестве истинного шрифта устройства. Это будет рассмотрено позже в этой статье.
Замена шрифта устройства также происходит, когда шрифт на принтере имеет то же имя, что и шрифт, который предоставляет операционная система. Это обычно происходит на принтерах, таких как Hewlett-Packard LaserJet. Эти принтеры обычно имеют собственные версии шрифтов Windows, таких как Arial и Times New Roman. Хотя эти шрифты также обычно можно найти, ищем подлинные шрифты устройств, их использование иногда не может быть гарантировано, так как драйверы принтера часто выбирают самостоятельно или выбирают с помощью параметров пользователя, следует ли использовать шрифт, который предоставляет операционная система вместо этого.
Истинные шрифты устройств
True device fonts are those that only have a definition on the printer. Только так приложение может использовать эти шрифты, чтобы приложение специально идентифицировать шрифт и создать его для использования в контексте устройства принтера.
Если вы знаете достаточно сведений об устройстве, можно создать логическое описание шрифта в структуре, которая приведет к реализации LOGFONT шрифта устройства. В частности, важно предоставить правильные сведения для участника, участника и набора lfFacename lfHeight символов шрифта. Кроме того, член должен содержать флаг, чтобы повлиять на процесс сопоставления шрифтов, чтобы выбрать шрифты устройств вместо так lfOutPrecision OUT_DEVICE_PRECIS же именуемого системного шрифта.
Если описание шрифта неизвестно, можно привести шрифты для обнаружения шрифтов устройств. Чтобы получить список шрифтов устройств, поддерживаемый принтером, используйте одну из функций перечисляния шрифтов, например EnumFontFamiliesEx . Код приложения, вложенный в функцию вызова, может исследовать данные, переданные функции вызова, чтобы определить, какие экземпляры шрифта описывают шрифт устройства.
Использование настоящих шрифтов устройств
Процесс использования шрифта устройства в контексте устройства принтера следует следующим общим шагам:
- Определите истинные шрифты устройств путем переумежения шрифтов в контексте устройства принтера.
- Выберите шрифты только для устройств, указанные флагами и FontType процессом устранения.
- Используйте метрики, определенные для принтера, в режиме сопоставления, чтобы точно разместить текст, нарисованный MM_TEXT с помощью шрифта устройства.
Переуметь шрифты контекста устройства принтера
Чтобы привести все шрифты, доступные в контексте устройства, можно использовать функции вызова и функции из интерфейса программирования приложений EnumFontFamiliesEx Win32 (API). Чтобы перечислить все шрифты для контекста устройства, необходимо позвонить два раза: сначала получить список семей шрифтов, а во второй раз получить все отдельные шрифты, которые находятся в каждой семейке EnumFontFamiliesEx шрифтов.
Чтобы найти все шрифты устройства в контексте устройства принтера, необходимо укаменеть все шрифты контекста устройства принтера. Когда каждый шрифт передается в функции вызова, шрифт рассматривается, чтобы определить, является ли он шрифтом устройства. Функции PrinterDeviceFontEnum вызова и вызова в следующем PrinterDeviceFontFamiliesEnum примере кода выполняют эту операцию.
Вы можете увидеть в примере кода, где EnumFontFamiliesEx функция вызвана два раза. Первый вызов выполнен в PrintDeviceFontList функции. Второй вызов находится в функции PrinterDeviceFontFamiliesEnum вызова.
PrintDeviceFontList — это функция верхнего уровня. PrintDeviceFontList выполняет две задачи, запуская задание печати в контексте устройства принтера, а затем вызывая первый вызов, чтобы запустить процесс EnumFontFamiliesEx перечня шрифтов. Согласно документации набора разработки программного обеспечения платформы (SDK), при задав члену структуры значение, в него вносяся сведения о всех семействах LOGFONT lfCharSet DEFAULT_CHARSET EnumFontFamiliesEx шрифтов. После завершения переопечатки шрифта код завершает задачу управления заданиями печати путем вызова EndDoc метода.
Функция PrinterDeviceFontFamiliesEnum вызова вызываема для каждого семейства шрифтов EnumFontFamiliesEx функцией. В этой функции вызываемого вызова код сначала экраны семей шрифтов, чтобы найти только шрифты устройства, отмеченные FontType параметром. Он также отсеивает все шрифты, помеченные как так как эти шрифты, скорее всего, TrueType будут загружаемыми шрифтами. Для семей шрифтов, которые считаются шрифтами устройств, функция снова вызвана, но передается структуре, которую получила функция EnumFontFamiliesEx ENUMLOGFONTEX обратного вызова. Использование параметра callback в качестве параметра ввода для вызова второй функции перечисляния вызывает второе перечисляние, чтобы перечислить все отдельные шрифты в этом семейство шрифтов.
Выбор шрифтов устройств
Вы можете использовать определенные критерии шрифтов устройств принтера, чтобы отличить эти шрифты от любого другого шрифта, который будет ок. В частности, назовите значение в параметре DWORD функции DEVICE_FONTTYPE FontType вызова. Почти все шрифты, переданные функции вызова с этим набором значений, являются шрифтами устройств для контекста устройства принтера (за исключением шрифтов Adobe).
В примере кода функция вызова вызова называется вторым переумежением для каждого отдельного шрифта PrinterDeviceFontEnum семейства шрифтов. Функция PrinterDeviceFontEnum вызова выполняет три задачи:
Снова использует критерии шрифта устройства, чтобы убедиться, что функция обрабатывает только шрифты, которые распознаются как шрифты устройств.
Поиск шрифта с помощью другого перемерения шрифта, чтобы узнать, используется ли шрифт устройства в контексте устройства экрана системы.
Напечатает образец шрифта на задание печати, которое создается для демонстрации использования шрифта. Эта функция вызова использует функцию с IsSystemFont именем , которая является частью следующего примера кода:
Эта функция определяет, когда шрифт, помеченный как шрифт устройства, но не является настоящим шрифтом устройства (в соответствии с определением в этой статье). Это происходит, когда шрифты Adobe устанавливаются в систему либо с помощью adobe Type Manager, либо с помощью родного rasterizer Adobe, который присутствует в Windows 2000 или Windows XP.
Когда это происходит, шрифт действительно является системным шрифтом, который загружается на принтер, что иногда происходит со шрифтами TrueType. К сожалению, нет флага, который можно использовать в Windows 98, Windows Millennium Edition (Me), Windows 2000 и Windows XP, который указывает на то, что шрифт является шрифтом Adobe, который предоставляет система (в отличие от шрифтов TrueType, которые включают флаг). Существует указание в члене структуры, но это доступно только в NEWTEXTMETRIC ntmFlags Windows 2000 и более поздней. Поэтому код должен прибегать к процессу устранения. Шрифт удаляется, когда шрифт устройства предоставляется как контекстом устройства экрана, так IsSystemFontdetermines и контекстом устройства принтера.
Чтобы избежать повторного анализа образцов шрифта, масштабирования, код также отмечает, когда шрифт кандидата уже используется. Конкретная реализация этого зависит от порядка переоценки шрифтов, чтобы увидеть, когда последовательное переоценки шрифта являются одним и тем же шрифтом, но в другом масштабе. Чтобы удалить шрифты другого масштаба, код использует CompareLogFontEx функцию.
В документации по программированию Windows операционных систем не сообщается, что экземпляры шрифтов, которые отличаются только масштабом, будут последовательно запрограммированы. В примере кода используется этот метод, так как было замечено, что эта функция работает таким образом, и сокращение числа примерных строк на печатной странице не является важной особенностью демонстрационного кода. Если вы хотите полагаться на устранение различных масштабов одного шрифта, необходимо сохранить структуру данных используемых шрифтов устройств. Затем программа должна проверить данный шрифт в отношении этой структуры данных.
Масштабируемые шрифты и шрифты Bitmap
Существует два типа шрифтов устройств, которые можно переуметь на принтерах:
- Шрифты Bitmap или raster
- Масштабируемые шрифты
Шрифты Bitmap — это шрифты с определением глифа символов фиксированного размера. Масштабируемые шрифты — это шрифты с математическим определением на принтере, которые могут быть нарисованы в любом размере. Другими словами, их размеры.
Классический пример шрифта bitmap — courier 10 символов на дюйм (cPI). Как следует из названия, этот шрифт является удержанием от перехода от пишущих машинок к принтерам типа impact. Он называется шрифтом bitmap, так как наиболее распространенное определение шрифта было расположено в изображении bitmap ROM принтера dot-matrix.
Примеры масштабируемых шрифтов с резидентом принтера можно найти в большинстве PostScript принтеров, где обычно существует стандартный набор шрифтов PostScript, таких как Helvetica и Times.
Шрифты устройств, которые не масштабируемы, имеют немного, заданный в FontType параметре функции вызова. Этот бит представлен символом в RASTER_FONTTYPE SDK. Если параметр для функции вызова не имеет набора, шрифт FontType RASTER_FONTTYPEbit — это масштабируемый шрифт. Пример определения этого примера см. в примере функции вызова PrinterDeviceFontEnum в примере кода.
Нарисуйте шрифты устройств
После того как шрифты, которые являются шрифтами устройств, в примере используются их в контексте устройства принтера, на котором было сделано переумежение. Шрифты устройств используются так же, как и другие шрифты, создавая логическое описание с CreateFontIndirect функцией. Этот вызов функции передается в функцию обратного вызова LOGFONT шрифта. После создания устройства он используется в контексте устройства принтера, выбрав его в контексте устройства HFONT с помощью SelectObject вызова функции.
Метрики шрифта устройства получаются с помощью GetTextMetrics вызова функции. Лучше всего работать на контекстах устройств принтера с помощью режима сопоставления, который является режимом сопоставления по умолчанию MM_TEXT для контекста устройства. При использовании режима сопоставления можно избежать математических ошибок, которые могут возникать в процессе преобразования единиц MM_TEXT других режимов сопоставления.
При использовании шрифта устройства в контексте устройства принтера необходимо быть осторожным, чтобы не транспортировать метрик для шрифта и строк в другие контексты устройства. Это относится, в частности, к контекстам устройств памяти. По определению контекст устройства памяти не является заданием печати, а временным буфером памяти графики raster и поэтому не может использовать шрифт устройства.
Существует еще одно важное соображение при использовании шрифтов устройств принтера: невозможно предоставить предварительный просмотр типа задания печати What-You-See-Is-What-You-Get. Очевидно, что шрифты, которые находятся на оборудовании принтера, нельзя нарисовать на экране. Ближе всего к предварительному просмотру задания печати можно найти шрифт с системой, который имеет общие характеристики шрифта устройства принтера, а затем нарисовать глифы этого шрифта на экране с помощью функции для имитации размещения глифов символов на печатной ExtTextOut странице.
Проблемы с использованием шрифтов устройств
При использовании шрифтов устройств могут возникнуть следующие проблемы:
Есть шрифт устройства, но драйвер принтера не сообщает его.
Существует две причины, по которым шрифт устройства не может найтися, если в контексте устройства принтера будут печататься шрифты, доступные для использования:
- Драйвер принтера был написан, чтобы по какой-то причине исключить этот шрифт устройства.
- Драйвер принтера переназначает шрифт, но шрифт неправильно помечен в параметре FontType как шрифт устройства.
Существуют системные шрифты, которые, как представляется, являются шрифтами устройств.
Эта проблема возникает, когда шрифт, предоставляемый системой, загружается на принтер.
Когда это происходит с шрифтами TrueType, функция перенастройки шрифта получает вызов с заданными параметрами и TRUETYPE_FONTTYPE DEVICE_FONTTYPE FontType битами. Эта обработка в примере кода не содержит шрифтов, содержащих эти сочетания битов.
Это также происходит с шрифтами Adobe PostScript, установленными в системе, скачанных на принтер. Один из способов отличить эти шрифты от других шрифтов устройств — искать их как в контексте устройства системного экрана, так и в контексте устройства принтера. Если один и тот же шрифт можно скачать в обоих контекстах устройства, шрифт, скорее всего, будет загружен на принтер, когда он используется в контексте устройства принтера.
Драйвер принтера передает несколько масштабируемых шрифтов устройств, но они, как представляется, одинаковые, за исключением размеров.
Многие драйверы принтера предоставляют масштабируемый шрифт, предоставляя несколько экземпляров одного и того же шрифта с разными размерами. Это обрабатывается в примере кода, сравнивая различные экземпляры тех шрифтов, которые, как предполагается, можно масштабировать с помощью CompareLogFontEx функции.
Если параметр для функции вызова имеет набор, в нескольких переумериях описаны конкретные экземпляры не масштабируемых FontType RASTER_FONTTYPEbit шрифтов для каждого размера. Каждый из них передает только те размеры, в которых доступен этот шрифт.
На некоторых принтерах, как представляется, нет шрифтов устройств.
Это верно. Некоторые принтеры, а именно принтеры струйного типа чернил, не предоставляют шрифты устройств. Эти принтеры строго raster устройств и, следовательно, не имеют определения шрифта-резидента принтера.
В дополнение к шрифтам, которые входят в комплект поставки Windows или установлены вами вручную, можно использовать встроенные (internal) шрифты принтера. Драйвер принтера сообщает системе, какие шрифты содержит принтер, — и их названия появляются в окнах диалога Шрифт ваших приложений.
Использование встроенных шрифтов принтера избавляет Windows от необходимости загружать информацию о шрифтах и превращать каждую страницу документа в растровое изображение (а на это уходит время!), поэтому процесс печати существенно ускоряется. В качестве расплаты за подобное увеличение производительности вам, возможно, придется пожертвовать соответствием между тем, что вы видите на экране, и тем, что будет напечатано на бумаге.
Когда вы используете в документе встроенный шрифт принтера, Windows, если может, изображает на экране точно такой же шрифт. Если в системе нет шрифта, в точности соответствующего выбранному шрифту принтера, она пытается обеспечить максимально возможное соответствие. Например, если вы выберете встроенный принтерный шрифт Courier, Windows изобразит текст на экране своим собственным шрифтом TrueType (это будет Courier New). Если же вы выберете встроенный шрифт PostScript-принтера под названием Avant Garde (не установив предварительно программу Adobe Type Manager и входящий в комплект ее поставки экранный шрифт Avant Garde), Windows будет использовать для отображения текста Arial — ближайший к Avant Garde шрифт формата TrueType.
Даже если используемый системой экранный шрифт не соответствует выбранному принтерному шрифту, приложения Windows будут стараться правильно показывать места разбиения документа на страницы. Но положение концов строк на экране и на принтере будет совпадать не всегда. Следует также иметь в виду, что в разных программах степень такого соответствия может быть различной. Поэтому, если необходимо добиться точного размещения текста на листе бумаги, избегайте использования встроенных шрифтов принтера.
Перемещение и копирование фрагмента текста
При редактировании документа часто появляется потребность переместить или скопировать фрагмент текста в какую-то другую позицию. Это можно выполнить несколькими способами.
В данной статье вы узнаете почему при отправки на принтер документов у вас распечатываются иероглифы или какая то абракадабра вместо текста или картинок. В моем случае, это происходило на принтерах от компании Kyocera, но способ решения подойдет для любой модели принтера будь то: HP, Brother, Canon, Epson или другие модули принтеров или МФУ.
В одной конторе случился интересный момент на МФУ Kyocera 2035 при печати c нескольких компьютеров стали распечатываться иероглифы:
и самое противное, что принтер печатал до тех пор пока не кончится бумага либо пока не выключали принтер.
Что делать если принтер печатает иероглифы?
Если принтер начинает печатать иероглифы или какие то символы вместо текста, решать такие задачи надо методом исключения, но для этого надо определить две вещи
- проблема на компьютере
- проблема с принтером
Печатаются странные символы
Проверка очереди печати
После того как у вас принтер сходит с ума и печатает какую то галиматью, первое что нужно спасать это бумагу которая будет уничтожена вся! После того как принтер остался без бумаги ему надо почистить мозг и очередь печати, чтобы после того как вы подсунете ему бумагу он снова не стал ее уничтожать распечатывая послания с другой галактики в виде непонятных ребусов и знаков.
-
Останавливаем службу печати, для этого открываем командную строку и выполняем команду:
Проверка кабеля USB
Если принтер подключен к компьютеру по кабелю USB, например МФУ Kyocera очень требовательные к таким кабелям и они могут просто отказаться работать если такие юсб кабеля не имеют сферритовых колец. При странной печати на таких принтерах необходимо первым делом перетыкнуть провод в другой порт USB.
Обновить драйвера
После всех проделанных мероприятий у вас принтер продолжает печатать иероглифы, тогда остается только обновить драйвера на принтере. Бывает такое, что в процессе работы вы могли поставить какое то ПО которое могло привести к конфликту с драйверами вашего принтера и для устранения этого глюка необходимо скачать с сайта производителя самые свежие драйвера и попробовать их обновить и тут можно пойти двумя путями:
- Удаление всех драйвером принтеров с компа и установка по новой
- Обновление драйверов без удаления
Полное удаление драйверов принтера в Windows
Если вы хотите удалить все драйвера которые находятся на вашем компьютере под операционной системой Windows 10 или Windows 7 для этого необходимо:
- Останавливаем службу печати, для этого открываем командную строку и выполняем команду:
Правильная переустановка драйверов на принтер
Для перестановки драйверов, я советую использовать данный метод:
Таких шагов достаточно, чтобы решить проблему с иероглифами или странными символами при печати на принтерах Kyocera, HP, Brother, Canon, Epson и др. и такие вопросы как:
- Почему мой принтер печатает странные символы?
- Почему мой принтер печатает чепуху?
- Почему мой принтер печатает другой шрифт?
- Почему печатаются тарабарщина а не текст?
- Почему печатаются странные символы на принтере?
у вас уже не будут возникать, но если у вас эти варианты не сработали пиши в комментариях будем разбираться вместе.
Читайте также: