TrueTypeFontMode Enumeração
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Especifica como uma impressora manipula texto formatado com uma fonte TrueType.
public enum class TrueTypeFontMode
public enum TrueTypeFontMode
type TrueTypeFontMode =
Public Enum TrueTypeFontMode
- Herança
Campos
Automatic | 1 | O driver de impressora decide o melhor método para lidar com as fontes TrueType. |
DownloadAsNativeTrueTypeFont | 4 | O driver de impressora baixa a fonte TrueType. |
DownloadAsOutlineFont | 2 | O driver de impressora baixa da fonte TrueType como uma fonte de tópicos. |
DownloadAsRasterFont | 3 | O driver de impressora cria uma fonte de varredura para cada tamanho de fonte TrueType que ele precisa e baixa todos eles. |
RenderAsBitmap | 5 | O driver de impressora downloads de cada área de texto como um elemento gráfico. |
Unknown | 0 | O recurso (cujas opções são representadas por esta enumeração) é definido como uma opção não definida. no imprimir esquema. |
Exemplos
O exemplo a seguir mostra como testar os recursos de uma impressora e configurar o trabalho de impressão para tirar proveito delas.
// ---------------------- 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()
Comentários
As fontes TrueType são fontes vetoriais , que instruem os drivers de impressora e os drivers de tela a desenhar as formas das letras e preenchê-las. Fontes vetoriais contrastam com fontes de raster , que são simplesmente listas. Uma fonte raster tem uma lista para cada letra de cada tamanho de fonte disponível e as listas determinam, para cada pixel na letra, se ela imprime.
Você pode ampliar ou reduzir fontes vetoriais para quase qualquer tamanho de ponto; no entanto, as fontes vetoriais podem diminuir a impressão porque ocupam uma grande quantidade de memória da impressora. Além disso, algumas impressoras não dão suporte a fontes TrueType.
As impressoras mais recentes geralmente evitam esses problemas fazendo o seguinte.
Convertendo uma fonte TrueType em uma fonte de estrutura de tópicos, que é uma fonte vetor genérica. Muitas impressoras que não dão suporte a fontes TrueType dão suporte a fontes de estrutura de tópicos.
Criando uma fonte de raster temporária que se parece com uma fonte TrueType. A impressora deve criar uma fonte de raster temporária separada para cada tamanho de fonte que o documento usa. Por esse motivo, se um trabalho de impressão usar muitos tamanhos de fonte, a memória total que a impressora usa poderá ser maior do que uma fonte TrueType usaria.
Tratar cada área de texto no documento como um gráfico. Se um dispositivo precisar imprimir um documento que contenha muito pouco texto, baixar texto como gráfico poderá usar menos memória de impressora do que baixar uma fonte.
Use os valores desse tipo para estas finalidades:
Como membros da TrueTypeFontModeCapability coleção, que é uma propriedade de PrintCapabilities, esses valores indicam quais das técnicas anteriores estão disponíveis para uma impressora específica. Muitas impressoras dão suporte a mais de uma dessas técnicas.
Como o valor da TrueTypeFontMode propriedade de um PrintTicket, o valor instrui a impressora a manipular fontes TrueType de uma maneira específica.
O valor Desconhecido nunca é usado em propriedades de PrintCapabilities objetos.
Você nunca deve definir uma PrintTicket propriedade como Unknown. Se algum outro PrintTicket aplicativo produtor tiver criado um documento PrintTicket que define o recurso de manipulação de fontes TrueType como uma opção não reconhecida (ou seja, uma opção que não está definida no Esquema de Impressão, um PrintTicket objeto em seu aplicativo construído com esse documento terá Unknown como o valor da TrueTypeFontMode propriedade.
Embora as PrintTicket classes e PrintCapabilities não possam ser herdadas, você pode estender o Esquema de Impressão para reconhecer recursos de dispositivo de impressão que não são contabilizados nas PrintTicket classes ou PrintCapabilities . Para obter mais informações , consulte Como estender o esquema de impressão e criar novas classes do sistema de impressão.