TrueTypeFontMode Enumeración
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Especifica cómo una impresora controla el texto con formato de fuente TrueType.
public enum class TrueTypeFontMode
public enum TrueTypeFontMode
type TrueTypeFontMode =
Public Enum TrueTypeFontMode
- Herencia
Campos
Automatic | 1 | El controlador de impresora determina el mejor método para controlar las fuentes TrueType. |
DownloadAsNativeTrueTypeFont | 4 | El controlador de impresora descarga la fuente TrueType. |
DownloadAsOutlineFont | 2 | El controlador de impresora descarga la fuente TrueType como una fuente de contorno. |
DownloadAsRasterFont | 3 | El controlador de impresora crea una fuente de mapa de bits para cada tamaño de la fuente TrueType que necesita y las descarga todas. |
RenderAsBitmap | 5 | El controlador de impresora descarga cada área de texto como un gráfico. |
Unknown | 0 | La característica (cuyas opciones representa esta enumeración) está establecida en una opción no definida. En Esquema de impresión. |
Ejemplos
En el ejemplo siguiente se muestra cómo probar las funcionalidades de una impresora y configurar el trabajo de impresión para aprovecharlas.
// ---------------------- 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()
Comentarios
Las fuentes TrueType son fuentes vectoriales , que indican a los controladores de impresora y controladores de pantalla cómo dibujar las formas de las letras y rellenarlas. Las fuentes vectoriales contrastan con las fuentes ráster , que son simplemente listas. Una fuente ráster tiene una lista para cada letra de cada tamaño de fuente disponible y las listas determinan, para cada píxel de la letra, si se imprime.
Puede ampliar o reducir las fuentes vectoriales a casi cualquier tamaño de punto; sin embargo, las fuentes vectoriales pueden ralentizar la impresión porque ocupan una gran cantidad de memoria de impresora. Además, algunas impresoras no admiten fuentes TrueType.
Las impresoras más recientes a menudo evitan estos problemas haciendo lo siguiente.
Convertir una fuente TrueType en una fuente de esquema, que es una fuente vectorial genérica. Muchas impresoras que no admiten fuentes TrueType, admiten fuentes de esquema.
Crear una fuente de trama temporal que tenga un aspecto similar a una fuente TrueType. La impresora debe crear una fuente de trama temporal independiente para cada tamaño de fuente que use el documento. Por ese motivo, si un trabajo de impresión usa muchos tamaños de fuente, la memoria total que usa la impresora podría ser mayor que la que usaría una fuente TrueType.
Tratar cada área de texto del documento como un gráfico. Si un dispositivo necesita imprimir un documento que contenga muy poco texto, descargar texto como gráfico puede usar menos memoria de impresora que descargar una fuente.
Use los valores de este tipo para estos fines:
Como miembros de la TrueTypeFontModeCapability colección, que es una propiedad de PrintCapabilities, estos valores indican cuál de las técnicas anteriores está disponible para una impresora determinada. Muchas impresoras admiten más de una de estas técnicas.
Como valor de la TrueTypeFontMode propiedad de , PrintTicketel valor indica a la impresora que controle las fuentes TrueType de una manera determinada.
El valor Desconocido nunca se usa en propiedades de PrintCapabilities objetos .
Nunca debe establecer una PrintTicket propiedad en Unknown. Si alguna otra PrintTicket aplicación de producción ha creado un documento PrintTicket que establece la característica de control de fuentes TrueType en una opción no reconocida (es decir, una opción que no está definida en el esquema de impresión, entonces un PrintTicket objeto de la aplicación que se construye con ese documento tendrá Unknown como valor de la TrueTypeFontMode propiedad.
Aunque las PrintTicket clases y PrintCapabilities no se pueden heredar, puede extender el esquema de impresión para reconocer las características del dispositivo de impresión que no se tienen en cuenta en las PrintTicket clases o PrintCapabilities . Para obtener más información, vea How to: Extend the Print Schema and Create New Print System Classes.