TrueTypeFontMode Перечисление
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Указывает, как принтер обрабатывает текст, отформатированный шрифтом TrueType.
public enum class TrueTypeFontMode
public enum TrueTypeFontMode
type TrueTypeFontMode =
Public Enum TrueTypeFontMode
- Наследование
Поля
| Имя | Значение | Описание |
|---|---|---|
| Unknown | 0 | Функция (параметры которого представлены этим перечислением) имеет значение параметра, который не определен. в схеме печати. |
| Automatic | 1 | Драйвер принтера решает лучший метод обработки шрифтов TrueType. |
| DownloadAsOutlineFont | 2 | Драйвер принтера загружает шрифт TrueType в виде шрифта структуры. |
| DownloadAsRasterFont | 3 | Драйвер принтера создает растровый шрифт для каждого размера шрифта TrueType, который он нуждается, и скачивает их все. |
| DownloadAsNativeTrueTypeFont | 4 | Драйвер принтера скачивает шрифт TrueType. |
| RenderAsBitmap | 5 | Драйвер принтера скачивает каждую область текста в виде рисунка. |
Примеры
В следующем примере показано, как протестировать возможности принтера и настроить задание печати для их использования.
// ---------------------- GetPrintTicketFromPrinter -----------------------
/// <summary>
/// Returns a PrintTicket based on the current default printer.</summary>
/// <returns>
/// A PrintTicket for the current local default printer.</returns>
PrintTicket^ GetPrintTicketFromPrinter ()
{
PrintQueue^ printQueue = nullptr;
LocalPrintServer^ localPrintServer = gcnew LocalPrintServer();
// Retrieving collection of local printer on user machine
PrintQueueCollection^ localPrinterCollection = localPrintServer->GetPrintQueues();
System::Collections::IEnumerator^ localPrinterEnumerator = localPrinterCollection->GetEnumerator();
if (localPrinterEnumerator->MoveNext())
{
// Get PrintQueue from first available printer
printQueue = ((PrintQueue^)localPrinterEnumerator->Current);
} else
{
return nullptr;
}
// Get default PrintTicket from printer
PrintTicket^ printTicket = printQueue->DefaultPrintTicket;
PrintCapabilities^ printCapabilities = printQueue->GetPrintCapabilities();
// Modify PrintTicket
if (printCapabilities->CollationCapability->Contains(Collation::Collated))
{
printTicket->Collation = Collation::Collated;
}
if (printCapabilities->DuplexingCapability->Contains(Duplexing::TwoSidedLongEdge))
{
printTicket->Duplexing = Duplexing::TwoSidedLongEdge;
}
if (printCapabilities->StaplingCapability->Contains(Stapling::StapleDualLeft))
{
printTicket->Stapling = Stapling::StapleDualLeft;
}
return printTicket;
};// end:GetPrintTicketFromPrinter()
// ---------------------- GetPrintTicketFromPrinter -----------------------
/// <summary>
/// Returns a PrintTicket based on the current default printer.</summary>
/// <returns>
/// A PrintTicket for the current local default printer.</returns>
private PrintTicket GetPrintTicketFromPrinter()
{
PrintQueue printQueue = null;
LocalPrintServer localPrintServer = new LocalPrintServer();
// Retrieving collection of local printer on user machine
PrintQueueCollection localPrinterCollection =
localPrintServer.GetPrintQueues();
System.Collections.IEnumerator localPrinterEnumerator =
localPrinterCollection.GetEnumerator();
if (localPrinterEnumerator.MoveNext())
{
// Get PrintQueue from first available printer
printQueue = (PrintQueue)localPrinterEnumerator.Current;
}
else
{
// No printer exist, return null PrintTicket
return null;
}
// Get default PrintTicket from printer
PrintTicket printTicket = printQueue.DefaultPrintTicket;
PrintCapabilities printCapabilities = printQueue.GetPrintCapabilities();
// Modify PrintTicket
if (printCapabilities.CollationCapability.Contains(Collation.Collated))
{
printTicket.Collation = Collation.Collated;
}
if ( printCapabilities.DuplexingCapability.Contains(
Duplexing.TwoSidedLongEdge) )
{
printTicket.Duplexing = Duplexing.TwoSidedLongEdge;
}
if (printCapabilities.StaplingCapability.Contains(Stapling.StapleDualLeft))
{
printTicket.Stapling = Stapling.StapleDualLeft;
}
return printTicket;
}// end:GetPrintTicketFromPrinter()
' ---------------------- GetPrintTicketFromPrinter -----------------------
''' <summary>
''' Returns a PrintTicket based on the current default printer.</summary>
''' <returns>
''' A PrintTicket for the current local default printer.</returns>
Private Function GetPrintTicketFromPrinter() As PrintTicket
Dim printQueue As PrintQueue = Nothing
Dim localPrintServer As New LocalPrintServer()
' Retrieving collection of local printer on user machine
Dim localPrinterCollection As PrintQueueCollection = localPrintServer.GetPrintQueues()
Dim localPrinterEnumerator As System.Collections.IEnumerator = localPrinterCollection.GetEnumerator()
If localPrinterEnumerator.MoveNext() Then
' Get PrintQueue from first available printer
printQueue = CType(localPrinterEnumerator.Current, PrintQueue)
Else
' No printer exist, return null PrintTicket
Return Nothing
End If
' Get default PrintTicket from printer
Dim printTicket As PrintTicket = printQueue.DefaultPrintTicket
Dim printCapabilities As PrintCapabilities = printQueue.GetPrintCapabilities()
' Modify PrintTicket
If printCapabilities.CollationCapability.Contains(Collation.Collated) Then
printTicket.Collation = Collation.Collated
End If
If printCapabilities.DuplexingCapability.Contains(Duplexing.TwoSidedLongEdge) Then
printTicket.Duplexing = Duplexing.TwoSidedLongEdge
End If
If printCapabilities.StaplingCapability.Contains(Stapling.StapleDualLeft) Then
printTicket.Stapling = Stapling.StapleDualLeft
End If
Return printTicket
End Function ' end:GetPrintTicketFromPrinter()
Комментарии
Шрифты TrueType — это векторные шрифты, которые указывают драйверам принтера и драйверам экрана, как нарисовать фигуры букв и заполнить их. Векторные шрифты контрастируют с растровых шрифтов, которые являются простыми списками. Шрифт растра содержит список для каждой буквы каждого доступного размера шрифта, и списки определяют, для каждого пикселя в букве, независимо от того, печатается ли он.
Вы можете увеличить или уменьшить векторные шрифты почти до любого размера точки; однако векторные шрифты могут замедлить печать, так как они занимают большое количество памяти принтера. Кроме того, некоторые принтеры не поддерживают шрифты TrueType.
Более новые принтеры часто избежать этих проблем, выполнив указанные ниже действия.
Преобразование шрифта TrueType в шрифт структуры, который является универсальным векторным шрифтом. Многие принтеры, не поддерживающие шрифты TrueType, поддерживают шрифты структуры.
Создание временного растрового шрифта, который выглядит так же, как шрифт TrueType. Принтер должен создать отдельный временный растровый шрифт для каждого размера шрифта, используемого документом. По этой причине, если задание печати использует много размеров шрифтов, общая память, используемая принтером, может быть больше, чем используемый шрифт TrueType.
Обработка каждой текстовой области в документе как графического элемента. Если устройство должно распечатать документ, содержащий очень маленький текст, скачивание текста в виде рисунка может использовать меньше памяти принтера, чем скачивание шрифта.
Используйте значения этого типа для следующих целей:
Как члены TrueTypeFontModeCapability коллекции, которая является свойством PrintCapabilities, эти значения указывают, какой из предыдущих методов доступен для определенного принтера. Многие принтеры поддерживают несколько из этих методов.
В качестве значения TrueTypeFontMode свойства объекта PrintTicketзначение указывает принтеру обрабатывать шрифты TrueType определенным образом.
Неизвестное значение никогда не используется в свойствах PrintCapabilities объектов.
Никогда не следует задать PrintTicket свойство Unknown. Если какое-то другое PrintTicket приложение создает документ PrintTicket , который задает функцию обработки шрифтов TrueType нераспознанным параметром (т. е. параметром, который не определен в схеме печати, то PrintTicket объект в приложении, созданном с помощью этого документа, будет иметь неизвестное значение TrueTypeFontMode свойства.
PrintTicket Хотя и PrintCapabilities классы не могут наследоваться, можно расширить схему печати для распознавания функций устройства печати, которые не учитываются в PrintTicket или PrintCapabilities классах. Дополнительные сведения см. в разделе "Практическое руководство. Расширение схемы печати и создание новых системных классов печати".