أسلوب الطباعة في WPF
يقدم هذا الموضوع أهم ميزات WPF المطبعية. تتضمن هذه الميزات الجودة المحسنة و أداء عرض النص ، OpenType دعم أسلوب الطباعة، النص الدولي المحسّن،دعم الخط المحسن و واجهات برمجة تطبيقات النص الجديد (APIs).
يشتمل هذا الموضوع على الأقسام التالية.
- تحسين الجودة والأداء للنص
- أسلوب طباعة منسق
- دعم تحسين النص العالمي
- الدعم محسن للخط
- واجهات برمجة تطبيقات النص الجديدة (APIs).
- موضوعات ذات صلة
تحسين الجودة والأداء للنص
نص في WPFهو تقديم استخدام Microsoft ClearType، الذي يعمل على تحسين الوضوح وسهولة قراءة نص. ClearTypeهو التقنية برامج تم تطويرها بواسطةMicrosoftيعمل تشغيل تحسين إمكانية قراءة نص تشغيل exهوting LCDs (سائل Crystal Dهوplays)، مثل شاشات الكمبيوتر المحمول وشاشات الجيب وأجهزة عرض اللوحة المسطحة. ClearTypeيستخدم منخفض-pixel رسم هندسي الذي يسمح نص إلى يتم عرضها بدقة أكبر إلى شكله الحقيقي عن طريق محاذاة الأحرف في جزء الكسري من البكسل. زيادة الدقة الإضافية لحدة التفاصيل الصغيرة جداً في عرض نص بجعله أسهل بكثير للقراءة عبر المدد الزمنية الطويلة. تحسين آخر إلى ClearType في WPF هو مانع التشويش في اتجاه ص، التي تؤدي إلى تجانس القمم و أسفل المنحنيات السطحية في أحرف النص. لمزيد من التفاصيل حول ميزات ClearType, راجع نظرة عامة حول ClearType.
نص بمانع تشويش في الاتجاه ص لـ ClearType
يمكن لتدفقات عرض النص بأكملها أن تكون أجهزة مسرعة WPF بشرط أن جهازك يلبي الحد الأدنى من الأجهزة المطلوبة. التقديم الذي لا يمكن تنفيذه باستخدام الأجهزة يعود إلى تقديم البرامج. تسريع الأجهزة يؤثر على كافة مراحل تدفق تقديم النص — من تخزين رموزًا الفردية, تركيب رموزًا لتكوين الشاشة رمزية, تطبيق التأثيرات إلى تطبيق خوارزمية خلط ClearType إلى الناتج المعروض الأخير. للحصول على المعلومات على تسريع الأجهزة، راجع مستويات عرض الرسومات.
الرسم التخطيطي لتدفقات عرض النص
بالإضافة إلى ذلك، تحريك النص، إذا كان بواسطة حرف أو صورة رمزية ، يستفيد بالكامل من قدرة أجهزة الرسومات التي تم تمكين بواسطة WPF. وينتج عن ذلك حركة نص متجانسة.
أسلوب طباعة منسق
تنسيق خط OpenType هو ملحق لتنسيق خط TrueType®. تنسيق خط OpenType تم تطويره عن طريق Microsoft و Adobe معاً، و يوفر مجموعة غنية من الميزات المطبعية المتقدمة. كائن Typography يكشف عن العديد من الميزات المتقدمة من خطوط OpenType مثل البدائل الأسلوبية و swashes. يوفرWindows SDK مجموعة من نموذج خطوط OpenType الذي تم تصميمه بالميزات الغنية مثل خطوط Pericles و Pescadero. لمزيد من المعلومات، راجع نموذج حزمة خطوط OpenType.
خط OpenType Periclesيتضمن رموزًا إضافية توفر بدائل أسلوبية للمجموعة القياسية من الرموز. يعرض النص التالي أسلوب بديل للرموز.
نص باستخدام صور رمزية نمطية بديلة لـ OpenType
الأحرف المزيلة هي رموزًا مزخرفة تستخدم زخرفة كبيرة غالباً مقترنة بخط اليد. يعرض النص التالي رموزًا و مزيلات للأحرف قياسية لخط Pescadero .
نص باستخدام صور رمزية قياسية وحرف مذيل لـ OpenType
لمزيد من التفاصيل حول ميزات OpenType, راجع ميزات OpenTypeFont.
دعم تحسين النص العالمي
يوفر WPF دعم تحسين النص العالمي عن طريق توفير الميزات التالية:
تباعد الأسطر التلقائي في كافة أنظمة الكتابة باستخدام القياس الملائم.
دعم واسع للنص العالمى. لمزيد من المعلومات، راجع التعميم لـ WPF.
فاصل سطر و الواصلة و الضبط. بإرشاد اللغة
الدعم محسن للخط
يوفر WPF دعم خط محسّن عن طريق توفير الميزات التالية:
Unicode لكل النص. سلوك الخط و تحديده لن تتطلب مجموعة الأحرف أو مخطط الشفرة.
سلوك الخط مستقل عن الإعدادات العمومية مثل الإعدادات المحلية للنظام.
FontWeight منفصل ، FontStretch ، و أنواع FontStyle لتعريف FontFamily. هذا يوفر مرونة أكثر من برمجة Win32 حيث تستخدم تركيبات القيمة المنطقية المائلة أو الغامقة لتعريف خط.
اتجاه الكتابة (أفقي مقابل عمودي) يُعالج مستقلاً عن اسم الخط.
إضافة ارتباطات الخط و اللغة الاحتياطية للخط في ملف XML محمول باستخدام تقنية الخط المركّبة . تسمح الخطوط المركبة ببناء نطاق كامل من خطوط متعددة اللغات. الخطوط المركبة أيضاً توفر آلية التي تتجنب عرض رموزًا مفقودة. لمزيد من المعلومات، راجع الملاحظات في فئة FontFamily.
الخطوط العالمية مبنية من الخطوط المركبة باستخدام مجموعة من خطوط اللغة الواحدة. هذا يحفظ تكاليف الموارد عند تطوير الخطوط للغات متعددة.
خطوط مركبة مضمنة في مستند، وبالتالي توفر إمكانية نقل المستند. لمزيد من المعلومات، راجع الملاحظات في فئة FontFamily.
واجهات برمجة تطبيقات النص الجديدة (APIs).
يوفر WPF واجهات API نص متعددة للمطورين لاستخدامهم عند إدخال نص في التطبيقات الخاصة بهم. هذه واجهات API يتم تجميعها إلى ثلاث فئات:
واجهة التخطيط والمستخدم . عناصر تحكم النص الشائعة ل واجهة المستخدم الرسومية (GUI).
رسم نص lightweight. يسمح لك برسم نص مباشرة إلى الكائنات.
تنسيق النص المتقدم . يسمح لك بتطبيق مشغل نص مخصص.
واجهة التخطيط والمستخدم
في أعلى مستوى من الأداء الوظيفي يوفر نص واجهات API عناصر تحكم واجهة المستخدم (UI) شائعة مثل Label ، TextBlock ، و TextBox. توفر عناصر التحكم عناصر واجهة المستخدم الأساسية داخل التطبيق و توفر طريقة عرض سهلة لتقديم و التفاعل مع النص. عناصر التحكم مثل RichTextBox و PasswordBox تسمح بمعالجة النص بطريقة أكثر تقدماً أو تخصصاً. و الفئات مثل TextRange ، TextSelection ، و TextPointer تسمح بطرق معالجة نص مفيدة. توفر عناصر تحكم واجهة المستخدم خصائص مثل FontFamily ، FontSize ، و FontStyle ، والتي تتيح لك التحكم صفى الخط المُستخدم لعرض النص.
استخدام تأثيرات الصورة النقطية, التحويلات و تأثيرات النص
WPF يسمح لك بإنشاء استخدامات مرئية للنص مثيرة للاهتمام عن طريق استخدام ميزات مثل تأثيرات الصورة النقطية, التحويلات و تأثيرات النص. يظهر المثال التالي نوع نموذجي من تأثير الظل المنسدل المطبق على النص.
نص بظل منسدل
يظهر المثال التالي تأثير الظل المنسدل و الضجيج المطبقين على النص.
نص بظل منسدل و ضجيج
يظهر المثال التالي تأثير التوهج الخارجي المطبق على النص.
نص بتأثير توهج خارجي
يظهر المثال التالي تأثير القطر الضبابية المطبق على النص.
نص بتأثير القطر الضبابية
يظهر المثال التالي السطر الثاني من النص قد تم تغيير حجمه بواسطة 150 % بمحاذاة المحور س وتم تغيير حجم السطر الثالث بواسطة 150 % بمحاذاة المحور ص.
نص باستخدام ScaleTransform
يُظهر المثال التالي نص منحرف بمحاذاة محور س.
نص باستخدام SkewTransform
كائن TextEffect هو كائن مساعد الذي يسمح لك بمعاملة النص كمجموعة واحدة أو أكثر من الأحرف الموجودة في سلسلة نصية. يظهر المثال التالي حرف فردي يتم تدويره. يتم استدارة كل حرف في فواصل زمنية ثانية واحدة بشكل مستقل.
مثال على حركة دوران تأثير النص
استخدام مستندات التدفق
بالإضافة إلى عناصر التحكم واجهة المستخدم الشائعة ، يوفر WPF تحكم تخطيطي للعرض التقديمي للنص — العنصر FlowDocument. عنصر FlowDocument بالاقتران مع عنصر DocumentViewer يوفر عنصر تحكم لكميات كبيرة من النص مع متطلبات تخطيط متنوعة. توفر عناصر تحكم التخطيط الوصول صواب إلى أسلوب الطباعة المتقدم خلال كائن Typography و الخصائص المرتبطة بالخط لعناصر تحكم واجهة المستخدم الأخرى.
يوضح المثال التالي محتوى نص يتم استضافته في FlowDocumentReader ، والتي توفر البحث , التنقل ، تعيين الحدود الفاصلة للصفحات ، و دعم تحجيم المحتوى.
نص تم استضافته في FlowDocumentReader
لمزيد من المعلومات، راجع المستندات فى WPF.
رسم نص lightweight
يمكنك رسم النص مباشرة إلى كائنات WPF عن طريق استخدام أسلوب DrawText لكائن DrawingContext. لاستخدم هذا الأسلوب قم بإنشاء كائن FormattedText. يسمح لك هذا الكائن برسم نص متعدد الأسطر فيه كل حرف في النص يمكن أن يُنسق بشكل فردي. وظيفة كائن FormattedText تحتوي على الكثير من وظائف إشارات DrawText في API Win32. بالإضافة إلى ذلك، كائن FormattedText يحتوي على الوظائف مثل دعم علامة القطع التي يتم عرض علامة قطع عندما يتجاوز النص الحدود الخاصة به. يظهر المثال التالي النص الذي يحتوي على العديد من التنسيقات مطبقة عليه، بما في ذلك تدرج خطي على الكلمات الثانية والثالثة.
النص المعروض باستخدام كائن FormattedText
يمكنك تحويل النص المنسق إلى كائنات Geometry التي يسمح لك بإنشاء أنواع أخرى من النص المشوق مرئياً. على سبيل المثال، يمكنك إنشاء كائن Geometry استناداً إلى المخطط التفصيلي لسلسلة النص.
مخطط تفصيلي للنص باستخدام فرشاة تدرج خطية
توضح الأمثلة التالية العديد من الطرق لإنشاء تأثيرات مرئية شيقة عن طريق تعديل الضغطة,التعبئة وتمييز النص الذي تم تحويله.
مثال على تعيين ضغطة الحبر و التعبئة إلى ألوان مختلفة
مثال على فرشاة الصورة مُطبّقة إلى ضغطة الحبر
مثال على فرشاة صورة مُطبّقة إلى ضغطة الحبر والتمييز
للحصول على مزيد من المعلومات حول كائن FormattedText, راجع رسم نص منسق.
تنسيق النص المتقدم
على الأكثر مستوى متقدم للنص واجهات API ، WPF يوفر القدرة على إنشاء تخطيط نص مخصص باستخدام كائن TextFormatter و أنواع أخرى في مساحو الاسم System.Windows.Media.TextFormatting. TextFormatter والفئات المقترنة تسمح لك بتطبيق تخطيط النص المخصص الذي يدعم التعريف الخاص بك لتنسيقات الأحرف والأنماط الفقرة و قواعد فصل الأسطر و ميزات التخطيط الأخرى للنص الدولي. هناك عدد قليل جداً من الحالات التي قد تريد تجاوز التطبيق الافتراضي لدعم تخطيط نص WPF. ومع ذلك، إذا قمت بإنشاء عنصر تحكم أو تطبيق تحرير النص, قد تتطلب تطبيق مختلف عن تطبيق WPF الافتراضي .
بعكس النص التقليدى API ، يتفاعل TextFormatter مع عميل تخطيط نص من خلال مجموعة من أساليب رد الاتصال. تتطلب من العميل أن يوفر هذه الطرق في تطبيق الفئة TextSource. يوضح الرسم التخطيطي التالي تفاعل تخطيط النص بين التطبيق العميل و TextFormatter.
التفاعل بين TextFormatter والتطبيق
للحصول على المزيد من التفاصيل حول إنشاء تخطيط النص المخصص راجع تنسيق النص المتقدم.