TrueTypeFontMode Sabit listesi
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Yazıcının TrueType yazı tipiyle biçimlendirilmiş metni nasıl işleyeceklerini belirtir.
public enum class TrueTypeFontMode
public enum TrueTypeFontMode
type TrueTypeFontMode =
Public Enum TrueTypeFontMode
- Devralma
Alanlar
Automatic | 1 | Yazıcı sürücüsü, TrueType yazı tiplerini işlemek için en iyi yönteme karar verir. |
DownloadAsNativeTrueTypeFont | 4 | Yazıcı sürücüsü TrueType yazı tipini indirir. |
DownloadAsOutlineFont | 2 | Yazıcı sürücüsü TrueType yazı tipini ana hat yazı tipi olarak indirir. |
DownloadAsRasterFont | 3 | Yazıcı sürücüsü, trueType yazı tipinin ihtiyaç duyduğu her boyutu için bir tarama yazı tipi oluşturur ve hepsini indirir. |
RenderAsBitmap | 5 | Yazıcı sürücüsü, metnin her alanını grafik olarak indirir. |
Unknown | 0 | Özellik (seçenekleri bu numaralandırmayla gösterilen) tanımlanmamış bir seçeneğe ayarlanır. öğesini seçin. |
Örnekler
Aşağıdaki örnekte, yazıcının özelliklerini test etme ve yazdırma işini bunlardan yararlanacak şekilde yapılandırma işlemleri gösterilmektedir.
// ---------------------- 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()
Açıklamalar
TrueType yazı tipleri, yazıcı sürücülerine ve ekran sürücülerine harflerin şekillerini çizme ve doldurma yönergelerini veren vektör yazı tipleridir. Vektör yazı tipleri, yalnızca listeler olan raster yazı tipleriyle karşıttır. Tarama yazı tipinin kullanılabilir her yazı tipi boyutunun her harfi için bir listesi vardır ve listeler harfteki her piksel için yazdırılıp yazdırılmayacağını belirler.
Vektör yazı tiplerini neredeyse her nokta boyutuna büyütebilir veya küçültebilirsiniz; ancak vektör yazı tipleri büyük miktarda yazıcı belleği kapladığından yazdırmayı yavaşlatabilir. Ayrıca, bazı yazıcılar TrueType yazı tiplerini desteklemez.
Daha yeni yazıcılar genellikle aşağıdakileri yaparak bu sorunlardan kaçınıyor.
TrueType yazı tipini genel bir vektör yazı tipi olan ana hat yazı tipine dönüştürme. TrueType yazı tiplerini desteklemeyen birçok yazıcı ana hat yazı tiplerini destekler.
TrueType yazı tipine benzeyen geçici bir tarama yazı tipi oluşturma. Yazıcı, belgenin kullandığı her yazı tipi boyutu için ayrı bir geçici tarama yazı tipi oluşturmalıdır. Bu nedenle, bir yazdırma işi çok sayıda yazı tipi boyutu kullanıyorsa, yazıcının kullandığı toplam bellek TrueType yazı tipinin kullandığından daha büyük olabilir.
Belgedeki her metin alanını grafik olarak ele alma. Cihazın çok az metin içeren bir belgeyi yazdırması gerekiyorsa, metni grafik olarak indirmek, yazı tipini indirmekten daha az yazıcı belleği kullanabilir.
Bu türdeki değerleri şu amaçlarla kullanın:
bir özelliği PrintCapabilitiesolan koleksiyonun TrueTypeFontModeCapability üyeleri olarak, bu değerler belirli bir yazıcı için önceki tekniklerden hangisinin kullanılabilir olduğunu gösterir. Birçok yazıcı bu tekniklerden birden fazlasını destekler.
özelliğinin TrueTypeFontModePrintTicketdeğeri olarak, değeri yazıcıya TrueType yazı tiplerini belirli bir şekilde işlemesini emreder.
Bilinmeyen değer hiçbir zaman nesnelerin özelliklerinde PrintCapabilities kullanılmaz.
Bir özelliği hiçbir zaman Bilinmiyor olarak ayarlamamalısınızPrintTicket. Başka PrintTicket bir oluşturan uygulama TrueType yazı tipi işleme özelliğini tanınmayan bir seçen bir PrintTicket belgesi oluşturduysa (yani, Yazdırma Şeması'nda tanımlanmayan bir seçenekse, uygulamanızda bu belgeyle oluşturulmuş bir PrintTicket nesnenin özelliğin değeri TrueTypeFontModeBilinmiyor olacaktır.
ve PrintCapabilities sınıfları devralınamasa daPrintTicket, veya PrintCapabilities sınıflarında hesaba katılmayan yazdırma cihazı özelliklerini tanımak için Yazdırma ŞemasınıPrintTicket genişletebilirsiniz. Daha fazla bilgi için bkz . Nasıl yapılır: Yazdırma Şemasını Genişletme ve Yeni Yazdırma Sistemi Sınıfları Oluşturma.