إزاحات الخطوط القياسية
نص PDF بسيط محمَّل بلا /Widths يستخدم إزاحات أفقية لخطوط Adobe الأساسية للمحارف المدعومة، مانعًا انجراف المواضع التراكمي عندما تكون للمقابل المثبت قياسات مختلفة
العقد المدعوم
| العائلة | الأسماء المقبولة بالضبط |
|---|---|
| Helvetica | Helvetica, Helvetica-Bold, Helvetica-Oblique, Helvetica-BoldOblique |
| Times | Times-Roman, Times-Bold, Times-Italic, Times-BoldItalic |
| Courier | Courier, Courier-Bold, Courier-Oblique, Courier-BoldOblique |
كل وجه لديه 230 مدخل Unicode مفكوكًا: ASCII قابل للطباعة وLatin-1 ومحارف Windows-1252 القابلة للطباعة المعرفة، إضافة إلى i بلا نقطة وLslash وlslash وcaron وbreve وdotaccent وring وogonek وhungarumlaut وfraction وfi وfl
U+00A0 تستخدم إزاحة المسافة وU+00AD تستخدم إزاحة الشريطة؛ وU+00B5 هي علامة الميكرو في Latin-1، بينما اليونانية U+03BC خارج الجدول
الشيفرة الخام 39 في StandardEncoding تفك إلى U+2019 quoteright؛ والشيفرة 39 في WinAnsi تفك إلى U+0027 quotesingle، ولها إزاحة Helvetica مختلفة
الأسماء ذات بادئات subset وaliases مثل Arial أو Courier New وتهجئة مختلفة لحالة الأحرف وSymbol وZapfDingbats ومحارف التحكم وحروف يونانية وبقية Unicode غير المدعوم تحفظ سلوك fallback القائم
/Widths الصريحة في PDF تُحفظ، بما يشمل إزاحات مخصصة بقصد؛ وبرامج الخطوط وخرائط الترميز تبقى منفصلة عن هذه الجداول، ومصادفة TrueType مضمّنة بعرض صريح مغطاة باختبارات القبول
هذه إزاحات أفقية فقط؛ فهي لا تزوّد مخططات المحارف الرسومية أو صناديق إحاطة أو قياسات عمودية أو تشكيل ligatures أو kerning، ويمكن للمُصيِّر أن يظل يصبغ بمقابل مثبت مع توجيه النص من الإزاحات القياسية
القياس وحالة النص
HPDFGetStandardFontWidth تجري بحثًا غير قابل للتغيير في الجدول؛ وHPDFMeasureBaseFontWidths تجمع تلك النتائج مع الخلفية المنصية القائمة عندما تحتوي الدفعة محارف بديلة
مفسّر المحتوى يواصل تطبيق حجم الخط وTc وTw وTz وتعديلات TJ ومصفوفات النص والتحويل الرسومي بعد حل الإزاحة؛ والجداول لا تضيف kerning تلقائيًا إلى نص PDF
التحقق وحدود القارئ المستقل
القبول المركّز يبني 15 صفحة PDF فعلية تغطي كل الوجوه الاثني عشر وعلامات الاقتباس وligatures في StandardEncoding وترقيم WinAnsi ونصًا بعلامات تشكيل وعروضًا صريحة وبرنامج TrueType مضمّنًا ونص TJ محوَّلًا؛ وتقارن أصول المحارف الرسومية الأصلية بقمارئ MuPDF مستقل
مسح إزاحات Unicode يفحص كل مداخلات الجدول البالغة 2760 مدخلًا؛ و2756 منها تتفق مع MuPDF، بينما تحفظ مدخلات U+2044 الأربعة لعائلة Helvetica قيمة Adobe AFM WX هي 167 ويُبلّغ عنها صراحةً لأن MuPDF تعيد الإزاحة الشبيهة بالشريطة 278 لذلك المحرف
مقارنة هندسة PDF المشتركة تستخدم محارف يتفق عليها القارئ المستقل؛ وفرق الـ fraction لا يُبلّغ عنه بوصفه تكافؤًا عابرًا للقراء ناجحًا
قبول Windows يستخدم Tests/Delphi/Run-StandardFontMetricsAcceptance.ps1 ويعيد أيضًا تشغيل مجموعات استخراج النص والعروض القائمة؛ وقبول Linux الأصلي يستخدم Tests/Linux/Run-StandardFontMetricsAcceptance.sh مع تجاوزات FPC_EXE وPYTHON_EXE وHPDF_LINUX_OUTPUT
كل عمليات التنفيذ تكبح فتح قارئ خارجي وتُصدر سجلات أصلية وجداول إزاحات وإحداثيات محارف رسومية ومعاينة مصيَّرة وتقرير independent-proof.json
أساس القياس
الإزاحات هي حقائق WX من AFM لخطوط Adobe الأساسية بوحدة 1/1000 em؛ وتوثَّق عرف الإحداثيات والقياس في مواصفة Adobe Font Metrics