Меню

Как настроить шрифт печати принтера

Использование шрифтов устройства принтера

Шрифты, наявляющиеся в принтерах, иногда могут быть полезной и сложно использовать в программном коде приложения. В этой статье описывается, как определить, какие шрифты резидентного устройства доступны для использования в контексте устройства для принтера Win32. В этой статье также описываются некоторые проблемы, которые могут возникнуть при попытке использовать эти шрифты принтера в коде приложения.

Исходная версия продукта: Устройство принтера Win32
Исходный номер статьи базы знаний: 201978

Аннотация

В большинстве случаев разработчик программного обеспечения использует операционную систему для предоставления шрифтов, которые будут использоваться для его рисования. Для этого можно выбрать шрифт, предоставленный операционной системой, с помощью программного интерфейса (API) или в диалоговом окне » Выбор шрифта «. Однако приложение обычно не отвечает определенному шрифту, он отвечает определенным требованиям, а пользователь предпочитает шрифт. К ним относятся:

  • Шрифт должен иметь определенный размер.
  • Шрифт должен содержать символы (в ином случае называемые глифами).
  • Шрифт должен иметь определенный стиль.

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

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

На сегодняшний день большинство принтеров основано на растровых устройствах и могут рисовать точку (пикселя) в любой части бумаги, как и все символьные глифы. Для большинства приложений не возникает вопрос о том, что символьный глиф рисуется как целая форма из определения в резидентном принтере или рисуется как набор пикселей, предоставляемых операционной системой. Тем не менее, вы по-прежнему можете использовать шрифт, который предоставляет только принтер. Например, это может произойти из-за того, что шрифт уникален и не имеет подобного подстановки в операционной системе или, возможно, из-за того, что требуется избежать издержек при загрузке определения шрифта на принтер.

Шрифты устройства

В этой статье шрифты устройства — это шрифты, определения которых постоянно или необратимо находятся в памяти принтера. Эти шрифты устройств предоставляют определение глифа символов, которое может быть адресовано аппаратному средству для распознавания изображения на бумаге с помощью средства прорисовки страниц принтера.

Шрифты устройства можно разбить на три основных типа:

True шрифты устройства. В этой статье используются шрифты, которые поддерживаются только принтером и доступны только для принтера.

Подстановка шрифтов устройства. Шрифты, имеющиеся в операционной системе, и что также обеспечивает аппаратное обеспечение принтера. В этом случае аппаратное обеспечение принтера может заменить шрифты операционной системы.

Загружаемые шрифты. Шрифты, предоставляемые операционной системой, но определение которых может быть загружено на принтер и используется на принтере так, как если бы оборудование предоставил шрифты напрямую.

Загружаемые шрифты

Операционная система предоставляет загружаемые шрифты, которые также известны как загружаемые шрифты. При печати документа определение шрифта предоставляется в составе задания печати. Когда принтер обрабатывает задание печати, определение шрифта устанавливается в памяти принтера, чтобы определение шрифта можно было печатать на напечатанной странице документа.

В некоторых случаях, так как принтер рисует глифы символов шрифта, эти шрифты являются шрифтами устройств. Однако при загрузке определения шрифта или при рисовании глифа на принтере с помощью растрового изображения записываются только некоторые издержки или размер очереди заданий печати. Этот процесс выполняется прозрачно для приложения, поэтому шрифт в операционной системе можно использовать на экране и на принтере. Так как эта статья посвящена использованию шрифтов устройств, которые предоставляет только принтер, в этой статье не описано, как использовать загружаемые шрифты.

Подстановка шрифтов устройства

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

Обычно это происходит на принтерах PostScript при использовании общего шрифта Windows TrueType. Примером этого является шрифт TrueType Arial, который обычно печатается с помощью определения шрифтов шрифтов шрифтов Helvetica на большинстве устройств PostScript. Это пример замены с использованием похожих шрифтов, имена шрифтов которых отличаются. В этом случае, как правило, можно найти и использовать это аналогичное определение шрифта напрямую, поскольку аналогичное определение шрифта также отображается как истинный шрифт устройства. Это описывается далее в этой статье.

Подстановка шрифтов устройства также происходит, когда шрифт на принтере совпадает с именем шрифта, предоставленного операционной системой. Обычно это происходит на принтерах, таких как принтеры Hewlett Packard LaserJet. Эти принтеры обычно имеют собственные версии основных шрифтов Windows, такие как Arial и Times New Roman. Несмотря на то, что эти шрифты обычно могут быть найдены с помощью шрифтов True Device, их использование иногда не гарантируется, так как драйверы принтера часто выбираются самостоятельно или выбираются с использованием шрифта, предоставляемого операционной системой.

Шрифты для устройств true

True — шрифты устройства имеют только определение на принтере. Единственный способ, с помощью которого приложение может использовать эти шрифты, — чтобы приложение было конкретно определять шрифт и создавать его для использования в контексте устройства принтера.

Читайте также:  Как настроить цвет в телевизоре с цифровой приставкой

Если вы знаете достаточно информации об устройстве, вы можете создать логическое описание шрифта в LOGFONT структуре, которая будет приводить к реализации шрифта устройства. В частности, важно предоставить правильные сведения для lfFacename члена, lfHeight члена и набора символов шрифта. Кроме того, lfOutPrecision член должен содержать OUT_DEVICE_PRECIS флаг, который влияет на процесс сопоставления шрифтов для выбора шрифтов устройства вместо схожих имен системных шрифтов.

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

Использование true шрифтов устройства

Процесс использования шрифта устройства в контексте устройства принтера соответствует следующим общим действиям:

  1. Определение истинных шрифтов устройства с помощью перечисления шрифтов в контексте устройства принтера.
  2. Выберите шрифты, которые относятся только к устройствам, как указано FontType флажками и процессом исключения.
  3. Используйте в режиме сопоставления метрики, связанные с принтерами, MM_TEXT чтобы точно разместить текст, который нарисован с помощью шрифта устройства.

Перечисление шрифтов для контекста устройства принтера

Чтобы перечислить все шрифты, доступные в контексте устройства, можно использовать функции обратного вызова и EnumFontFamiliesEx функцию из программного интерфейса Win32 API. Чтобы перечислить все шрифты для контекста устройства, необходимо два раза вызывать метод EnumFontFamiliesEx : First для получения списка семейств шрифтов и второй раз для получения всех различных шрифтов в каждом семействе шрифтов.

Чтобы найти все шрифты устройства в контексте устройства принтера, необходимо перечислить все шрифты в контексте устройства принтера. Когда каждый шрифт передается функциям обратного вызова, этот шрифт проверяется, чтобы определить, является ли он шрифтом устройства. PrinterDeviceFontEnum PrinterDeviceFontFamiliesEnum Функция обратного вызова и функция обратного вызова выполняются в приведенном ниже примере кода для выполнения этой операции.

В примере кода можно увидеть, где EnumFontFamiliesEx функция вызывается дважды. Первый вызов выполняется в PrintDeviceFontList функции. Второй вызов находится в PrinterDeviceFontFamiliesEnum функции обратного вызова.

PrintDeviceFontList является функцией верхнего уровня. PrintDeviceFontList выполняет две задачи, запуская задание печати в контексте устройства принтера, а затем вызывает первый вызов для EnumFontFamiliesEx запуска процесса перечисления шрифтов. В соответствии с документацией по пакету разработки программного обеспечения платформы (SDK) при задании LOGFONT lfCharSet элемента структуры со DEFAULT_CHARSET значением выполняется EnumFontFamiliesEx перечисление всех семейств шрифтов. По завершении перечисления шрифтов код завершает задачу управления заданиями печати, вызывая EndDoc метод.

PrinterDeviceFontFamiliesEnum Функция обратного вызова вызывается для каждого семейства шрифтов с помощью EnumFontFamiliesEx функции. В этой функции обратного вызова код изначально задается семействами шрифтов, чтобы найти только те шрифты устройства, которые помечены FontType параметром. Кроме того, на экран выводятся все шрифты, помеченные как, TrueType так как эти шрифты, скорее всего, являются загружаемыми шрифтами. Для тех семейств шрифтов, которые считаются шрифтами устройств, EnumFontFamiliesEx функция вызывается повторно, но передается ENUMLOGFONTEX структура, полученная функцией обратного вызова. Использование параметра callback в качестве входного параметра для второго вызова функции перечисления приводит к тому, что второе перечисление будет перечислить все отдельные шрифты в этом семействе шрифтов.

Выбор шрифтов устройства

Вы можете использовать определенные критерии шрифтов устройств принтера, чтобы отличать их от любого другого перечислимого шрифта. В частности, найдите DEVICE_FONTTYPE значение в FontType параметре DWORD функции обратного вызова. Практически все шрифты, которые передаются в функцию обратного вызова с этим набором значений, являются шрифтами устройств для контекста устройства принтера (за исключением шрифтов Adobe).

В примере кода PrinterDeviceFontEnum функция обратного вызова вызывается вторым перечислением для каждого отдельного шрифта в семействе шрифтов. PrinterDeviceFontEnum Функция обратного вызова выполняет три задачи:

Повторно использует условия шрифта устройства, чтобы убедиться, что функция обрабатывает только шрифты, распознаваемые как шрифты устройства.

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

Печатает пример шрифта в создаваемом задании печати, чтобы продемонстрировать использование шрифта. Эта функция обратного вызова использует функцию с именем IsSystemFont , которая является частью следующего примера кода:

Эта функция определяет, когда шрифт, помеченный как шрифт устройства, не является истинным шрифтом устройства (в соответствии с определением в этой статье). Это происходит, когда шрифты Adobe устанавливаются в систему с помощью Adobe Type Manager или встроенной программы 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 не позволяет последовательно перечислять экземпляры шрифтов, которые отличаются только масштабом. В примере кода используется этот метод, поскольку перечисление было предназначено для работы таким способом, а сокращение числа образцов на напечатанной странице не является важнейшим компонентом демонстрационного кода. Если вы хотите полагаться на удаление разных масштабов одинакового шрифта, необходимо сохранить структуру данных используемых шрифтов устройства. Затем программа должна проверить текущий шрифт в соответствии с этой структурой данных.

Масштабируемые и растровые шрифты

Существует два типа шрифтов устройств, которые можно перечислить на принтерах:

  • Растровые или растровые шрифты
  • Масштабируемые шрифты

Растровые шрифты — это шрифты, которые имеют определение глифа символов фиксированного размера. Масштабируемые шрифты — это шрифты, которые имеют математические определения на принтере, чтобы их можно было изобразить на любом размере. Другими словами, их размер масштабируется.

Классический пример шрифта точечного рисунка — Courier 10 символов на дюйм (ИОС). Как следует из названия, этот шрифт является удержанием между переходами с машинного ввода на принтеры, поддерживающие ввод текста. Он называется шрифтом точечного рисунка, так как наиболее распространенное определение шрифта было размещено в растровом изображении с матричным принтером.

Примеры масштабируемых встроенных шрифтов принтера можно найти на большинстве принтеров PostScript, где обычно существует стандартный набор шрифтов PostScript, таких как Helvetica и Times.

Шрифты устройств, которые не являются масштабируемыми, имеют бит, заданный в FontType параметре функции обратного вызова. Этот бит представлен символом RASTER_FONTTYPE в пакете SDK. Если FontType для параметра функции обратного вызова не RASTER_FONTTYPEbit задано значение, шрифт является масштабируемым шрифтом. Пример определения этого кода приведен в статье PrinterDeviceFontEnum функция обратного вызова примера кода.

Рисование шрифтов устройства

После того как шрифты, являющиеся шрифтами устройств, будут найдены, пример использует их в контексте устройства принтера, на котором было выполнено перечисление. Шрифты устройства используются так же, как и для других шрифтов, путем создания логического описания с помощью CreateFontIndirect функции. Этот вызов функции передается в LOGFONT функцию обратного вызова перечисления шрифтов. После HFONT создания он используется в контексте устройства принтера, выбрав его в контексте устройства с SelectObject вызовом функции.

Метрики для шрифта устройства получаются с помощью GetTextMetrics вызова функции. Лучше всего работать с контекстами устройств принтера, используя MM_TEXT режим сопоставления, который является режимом сопоставления по умолчанию для контекста устройства. При использовании MM_TEXT режима сопоставления можно избежать математических ошибок, которые могут возникать в процессе преобразования единиц измерения в других режимах сопоставления.

При использовании шрифта устройства в контексте устройства для принтера необходимо следить за тем, чтобы не передать метрики для шрифта и строк в другие контексты устройств. Это справедливо, особенно для контекстов устройств памяти. По определению контекст устройства памяти не является заданием печати, но является буфером временной памяти растровой графики и, следовательно, не может использовать шрифт устройства.

При использовании шрифтов устройств для принтера существует еще один важный фактор: вы не можете создать вид, который вы видите, для задания печати. Очевидно, что шрифты, находящиеся на оборудовании принтера, не могут быть отображены на экране. Ближайший способ предварительного просмотра задания печати состоит в том, чтобы найти шрифт, предоставленный системой, имеющий общие характеристики шрифта принтера принтера, а затем вычислить глифы этого шрифта на экране, используя ExtTextOut функцию для имитации размещения глифов символов на напечатанной странице.

Проблемы с использованием шрифтов устройства

При использовании шрифтов устройства могут возникнуть следующие проблемы:

Существует шрифт устройства, но драйвер принтера не выполняет его перечисление.

Существует две причины, по которым невозможно найти шрифт устройства, перечисляя шрифты, доступные для использования в контексте устройства принтера:

  • Драйвер принтера был записан для исключения этого шрифта устройства по некоторым причинам.
  • Драйвер принтера перечисляет шрифт, но он неправильно отмечен в FontType параметре как шрифт устройства.

Существуют системные шрифты, которые кажутся перечисленными в качестве шрифтов устройства.

Эта проблема возникает, когда предоставленный системой шрифт загружается на принтер.

В этом случае при использовании шрифтов TrueType функция обратного вызова для перечисления шрифтов получает вызов с TRUETYPE_FONTTYPE DEVICE_FONTTYPE параметром и битами, установленными для FontType параметра. Этот код обрабатывается в примере кода, не включая шрифты, содержащие эти сочетания.

Это также происходит с шрифтами Adobe PostScript, установленными в системе, загруженной на принтер. Один из способов отличить эти шрифты от других шрифтов устройства — искать их в контексте устройства экрана системы и в контексте устройства принтера. Если один и тот же шрифт можно перечислить для обоих контекстов устройств, то шрифт, скорее всего, будет загружен на принтер при его использовании в контексте устройства принтера.

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

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

Читайте также:  Приставка h96 max rk3318 как настроить

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

Некоторые принтеры не имеют шрифтов устройства.

Это справедливо. Некоторые принтеры, а именно струйные принтеры, не предоставляют шрифты для устройств. Эти принтеры являются строго точечными устройствами и поэтому не имеют определений шрифтов в резидентном принтере.

Источник

Как увеличить текст при печати?

Пользователи печатающей оргтехники часто сталкиваются с необходимостью увеличить текст при печати. Как правило при распечатки текстовых файлов применяются специальные редакторы, Блокнот, WordPad, но чаще всего Word. Здесь можно легко установить необходимый размер шрифта, чтобы текст получился нужного формата, однако не всегда заданные размеры совпадают с тем, что выходит на бумажной распечатке. Мы расскажем, как увеличить текст при печати быстро и удобно.

Увеличиваем текст для печати на принтере

  • Открываем текстовый документ или загружаем в редактор Word текст, который требуется распечатать. При этом шрифт на экране будет отвечать тому, что получится на бумаге, только тогда, когда масштаб имеет значение 100%.

  • Управлять масштабированием можно с помощью специальной функции – в правом нижнем углу располагается бегунок. Установите его посередине, на отметку 100%.
  • Теперь выделите фрагмент текста или весь текст (сочетание ctrl + А) и щелкните по выделенному месту правой кнопкой. Появится окошко, в котором можно увеличить шрифт кликнув по значку А со стрелочкой:

Или зайдите в параметры шрифтов и установите значение самостоятельно:

Сохраняем заданные параметры и нажимаем ctrl + p. В диалоговом окошке печати тоже имеются настройки масштабирования – они должны иметь значение 100% от исходного текстового документа. После проверки и предварительного просмотра страниц отправляем на печать.

Источник



Как настроить шрифт печати принтера

Отображение диалогового окна свойств принтера из папки «Принтеры и факсы» (в операционной системе Windows 2000 — из папки «Принтеры»).

1 Нажмите кнопку «Пуск» и выберите команду «Принтеры и факсы».

В операционной системе Windows XP Home Edition нажмите кнопку «Пуск», выберите команду «Панель управления», щелкните значок «Принтеры и другое оборудование», а затем — «Принтеры и факсы».

В операционной системе Windows 2000 нажмите кнопку «Пуск», наведите указатель на пункт «Настройка» и выберите команду «Принтеры».

2 Щелкните правой кнопкой мыши значок требуемого принтера и выберите из списка команду «Свойства».

Чтобы отобразить из приложения (при настройке параметров для каждого задания печати)

Отображение диалогового окна «Свойства документа».

1 В меню «Файл» данного приложения выберите команду «Печать».

В некоторых приложениях в меню «Файл» требуется выбрать пункт «Параметры принтера».

2 Выберите требуемый принтер и нажмите кнопку «Свойства».

Будет отображено диалоговое окно «Свойства документа».

Чтобы отобразить из папки «Принтеры и факсы» (при настройке параметров по умолчанию)

1 Нажмите кнопку «Пуск» и выберите команду «Принтеры и факсы».

В операционной системе Windows XP Home Edition нажмите кнопку «Пуск», выберите команду «Панель управления», щелкните значок «Принтеры и другое оборудование», а затем — «Принтеры и факсы».

В операционной системе Windows 2000 нажмите кнопку «Пуск», наведите указатель на пункт «Настройка» и выберите команду «Принтеры».

2 Щелкните правой кнопкой мыши значок требуемого принтера и выберите из списка команду «Настройка печати».

Будет отображено диалоговое окно «Настройка печати».

Примечание

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

Замена шрифтов TrueType шрифтами принтера для ускоренной печати

Замена шрифтов TrueType шрифтами принтера ускоряет печать.

1 Откройте диалоговое окно свойств принтера. Подробности:

2 Откройте вкладку «Параметры устройства».

3 В параметре «Таблица подстановки шрифтов» выберите шрифт, который требуется заменить, а затем в списке справа от шрифта выберите замещающий шрифт.

4 Нажмите кнопку «Применить».

5 Откройте диалоговое окно «Настройка печати». Подробности:

6 На вкладке «Расположение» или «Бумага и качество печати» нажмите кнопку «Дополнительно».

Откроется диалоговое окно «Дополнительные возможности».

7 Установите для параметра «Графика» — «Шрифт TrueType» значение «Использовать встроенный шрифт».

8 Нажмите кнопку «OK».

9 Нажмите кнопку «OK» в диалоговом окне «Настройка печати».

Источник

Как изменить размер шрифта на принтере HP — Вокруг-Дом — 2021

Table of Contents:

Когда вы будете готовы распечатать файлы, вы должны убедиться, что они хорошо выглядят, прежде чем нажать кнопку «Печать». Чернильные картриджи и картриджи с тонером стоят очень дорого, поэтому никогда не было так важно выполнить все необходимые настройки перед отправкой документов на принтер. Существуют способы настройки размера шрифта и других элементов перед печатью документов.

кредит: Thinkstock Images / Comstock / Getty Images

Шаг 1

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

Шаг 2

Нажмите на меню «Файл» и выберите «Предварительный просмотр» из меню. Вы увидите картинку, показывающую, как ваш готовый документ будет выглядеть на распечатанной странице.

Шаг 3

Увеличьте шрифт, если хотите. Чтобы изменить шрифт для всего документа, удерживайте клавишу «Ctrl» и нажмите клавишу «A». Затем нажмите в меню «Формат», чтобы настроить размер шрифта.

Шаг 4

Нажмите меню «Файл» и снова выберите «Предварительный просмотр», чтобы увидеть, как будет выглядеть готовый документ. Продолжайте корректировать шрифт, пока документ не будет выглядеть так, как вы хотите.

Настройка печати Принтера и МФУ (Апрель 2021).

  • Источник