TrueTypeFontMode Enumeración

Definición

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
TrueTypeFontMode

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 suelen evitar 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 ráster temporal que tenga un aspecto similar a una fuente TrueType. La impresora debe crear una fuente ráster 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 un 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 las propiedades de PrintCapabilities los 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, 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 ampliar 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.

Se aplica a

Consulte también