وحدة لتطبيق القواعد المطبعية التي تم اختبارها للوقت على مستنداتك من أجل تحسين الوضوح.
الطباعة هي فن ، بقدر علم ، تم تحسينه على مدار التاريخ. العمل بلا هوادة على تحسين وضوح النص وتدفقه ، ابتكرت المطبعين في جميع أنحاء العالم الكثير من القواعد التي غالباً ما يتم تجاهلها على وسائل النشر اليوم. تهدف هذه الوحدة إلى تصحيح هذا الموقف.
هذا عمل مستمر إلى حد كبير وقد لا تجده مناسبًا لاحتياجاتك الخاصة. يمكنك المساهمة بعدة طرق لتحسين هذا المشروع: من خلال تقديم طلبات السحب ، أو اقتراح الأفكار ، أو توثيق الاتفاقيات المطبعية لبلدك.
typographer ( input , configuration ) ; input عبارة عن سلسلة أو عنصر HTML (انظر القيود حول إدخال HTML).
configuration هو كائن له الخصائص الاختيارية التالية:
locale : رمز اللغة للاستخدام. الافتراضي هو en .output_format : إما text أو html ، التنسيق المستخدم للبدائل (على سبيل المثال u00a0 أو للمساحات غير المتجددة). الافتراضي هو text .disable_rules : مجموعة من القواعد/القواعد لتعطيل (على سبيل المثال ['ruleset/name1', 'ruleset2/name2', 'ruleset3', ...] ).اعتمادًا على نوع الإدخال ، سيقوم Typographer إما بإرجاع سلسلة (عند استخدام إدخال السلسلة) ، أو تحديث العنصر وأحفاده مباشرة في DOM.
const fixed = typographer (
'Bonjour typographer: enchanté !' ,
{
locale : 'fr_FR' ,
output_format : 'html'
}
) ;
console . log ( fixed ) // 'Bonjour typographer : enchanté !' const elements = document . querySelectorAll ( '.fixTypography' )
[ ] . forEach . call ( elements , element => {
typographer (
element ,
{
locale : 'fr_FR' ,
output_format : 'html'
}
) ;
} ) ; الدافع الأول لهذا المشروع هو المساحات ، كما تعلم ، هناك أكثر من مجرد نوع واحد من المساحات ، سننظر في عدد قليل:
على غرار المساحة العادية ، ولكن لا يمكن كسرها عبر سطرين عند الالتفاف. كل الكلمتين (مفصولة بمساحة غير متجانسة) سينتهيان دائمًا على نفس الخط.  هي مساحة أضيق من المساحة العادية.  هو نفس حجم المساحة الرقيقة ولكن لا يمكن كسرها عبر سطرين.هناك أكثر من هذه الأنواع الأربعة من المساحات ، لكنك تحصل على هذه الفكرة. المساحات غير المفيدة مفيدة حقًا لمنع التفاف الغريب.
النظر في 451 °F ، ألا يكون من الغريب أن يكون لديك الوحدة على خط منفصل عن القيمة؟ هذا هو ما هي المساحات غير الكارثة ل. تريد استخدام المساحات غير المتقنة.
لا يمكن أن يكون هذا مثاليًا أبدًا ، وهناك الكثير من الحالات التي سيواجه فيها المطبع ، على سبيل المثال ، يحدد النظام الدولي للوحدات أن الوحدات يجب أن تسبقها مساحة (واحدة غير مثيرة) ، ولكن من الصعب إلى حد ما التأكد من أن هناك شيئًا ما. يمكن أن تكون بعض الوحدات غامضة للغاية (على سبيل المثال بالنسبة لفولت ، يمكن أن تكون أيضًا الرقم الروماني لـ 5).
سنضيف مساحة غير متجانسة على الوحدات التي نتأكد منها تمامًا ، وسوف نترك الأمر متروكًا لك للقيام بذلك لتناولها.
إذا كنت تستخدم إدخال سلسلة HTML مع لغة تتطلب مساحات غير متجانسة (عادية أو ضيقة) قبل علامات الترقيم ، فيجب عليك التأكد من أن السلسلة الخاصة بك لا تحتوي على أي علامات لا ينبغي تحويلها ، مثل <code> أو <style> على سبيل المثال. وإلا فسوف ينتهي الأمر بأشياء مثل color : red ; والتي من شأنها أن تكسر عيناتك أو رمز العينات.
يعد استخدام إدخال عنصر HTML آمنًا نظرًا لأننا نرشح العقد التي لا ينبغي تحويلها مثل العقد المذكورة أعلاه (وغيرها). لاحظ أنه إذا يحتوي عنصر داخل الإدخال الخاص بك على بعض أنواع العقدة هذه ، فسنخطي عنصر الحاوية بأكمله.
نحن نبذل قصارى جهدنا لإصلاح قدر الإمكان تلقائيًا ، لكن القاعدة الأولى من المطبع هو: "عندما تكون في شك ، اترك الأشياء كما هي".
كان هذا أمرًا صعبًا ، وقواعد تختلف عبر البلدان ، وحتى في بلد معين ، يمكن أن يكون هناك أكثر من نمط موصى به. بشكل افتراضي ، سنركز على تطبيق القواعد المطبعية بلا منازع ، في نهج 80-20 نموذجي.
ملاحظة: تستخدم كندا (الفرنسية) قواعد مختلفة لعلامات الترقيم.
, لا ينبغي أن يكون لها مساحة من قبل ، ومساحة منتظمة بعد.. لا ينبغي أن يكون لها مساحة من قبل ، ومساحة منتظمة بعد.: يجب أن يكون لها مساحة غير متجانسة من قبل ، ومساحة منتظمة بعد.; يجب أن يكون لها مساحة ضيقة غير متجانسة من قبل ، ومساحة منتظمة بعد.? يجب أن يكون لها مساحة ضيقة غير متجانسة من قبل ، ومساحة منتظمة بعد.! يجب أن يكون لها مساحة ضيقة غير متجانسة من قبل ، ومساحة منتظمة بعد.« ‹ يجب أن يكون لها مساحة منتظمة من قبل ومساحة ضيقة غير مكشوفة بعد.» ، › يجب أن يكون لها مساحة ضيقة غير متجانسة من قبل ومساحة منتظمة بعد.“ ' يجب أن يكون لها مساحة منتظمة قبل ولا توجد مساحة بعد.” ' لا ينبغي أن يكون لها مساحة من قبل ومساحة منتظمة بعد.( يجب أن يكون لها مساحة منتظمة قبل ولا توجد مساحة بعد.) لا ينبغي أن يكون لها مساحة من قبل ومساحة منتظمة بعد.[ يجب أن يكون لها مساحة منتظمة قبل ولا توجد مساحة بعد.] لا ينبغي أن يكون لها مساحة من قبل ومساحة منتظمة بعد.- (الواصلة) لا ينبغي أن يكون لها مساحة قبل ولا بعد.— (EM ، طويل) أو- – EN ، المتوسطة) يجب أن يكون لها مساحة منتظمة في الخارج ومساحة غير متجانسة في الداخل عند إقرانها حول بعض النصوص.… ، ... ، أو . . . لا ينبغي أن يكون لها مساحة من قبل ومساحة منتظمة بعد. باستثناء ما بين قوسين مربعة أو أقواس حيث لا ينبغي أن يكون هناك مساحة قبل ولا بعد.' لا ينبغي أن يكون لها مساحة قبل ولا بعد., لا ينبغي أن يكون لها مساحة من قبل ، ومساحة منتظمة بعد.. لا ينبغي أن يكون لها مساحة من قبل ، ومساحة منتظمة بعد.: لا ينبغي أن يكون لها مساحة من قبل ، ومساحة منتظمة بعد.; لا ينبغي أن يكون لها مساحة من قبل ، ومساحة منتظمة بعد.? لا ينبغي أن يكون لها مساحة من قبل ، ومساحة منتظمة بعد.! لا ينبغي أن يكون لها مساحة من قبل ، ومساحة منتظمة بعد.“ ' يجب أن يكون لها مساحة منتظمة قبل ولا توجد مساحة بعد.” ' لا ينبغي أن يكون لها مساحة من قبل ومساحة منتظمة بعد.« ‹ يجب أن يكون لها مساحة منتظمة من قبل ومساحة ضيقة غير مكشوفة بعد.» ، › يجب أن يكون لها مساحة ضيقة غير متجانسة من قبل ومساحة منتظمة بعد.( يجب أن يكون لها مساحة منتظمة قبل ولا توجد مساحة بعد.) لا ينبغي أن يكون لها مساحة من قبل ومساحة منتظمة بعد.[ يجب أن يكون لها مساحة منتظمة قبل ولا توجد مساحة بعد.] لا ينبغي أن يكون لها مساحة من قبل ومساحة منتظمة بعد.- (الواصلة) لا ينبغي أن يكون لها مساحة قبل ولا بعد.— (EM ، طويل) أو – (EN ، المتوسط) لا ينبغي أن يكون لها مساحة قبل ولا بعد. يجب أن يكون لدى EM Dash مساحة من قبل عند استخدامها للإشارة إلى مصدر الاقتباس.… ، ... ، أو . . . يمكن أن يكون لها مساحات منتظمة قبل وبعد ، لا توجد مساحة من قبل ومساحة منتظمة بعد ، أو مساحة قبل ولا توجد مساحة بعدها.' لا ينبغي أن يكون لها مساحة قبل ولا بعد. في معظم الأوقات ، يمكنك ببساطة استخدام رمز اللغة العامة ، ولكن إذا وجدت التحولات المطبقة غير صحيحة ، فحاول استخدام رمز المحطة المحددة لبلدك. على سبيل المثال ، يستخدم الفرنسية الكندية ( fr_CA ) قواعد تباعد مختلفة لعلامات الترقيم ، لذلك فإن استخدام fr في هذا السياق سيؤدي على الأرجح إلى نتائج غير لائقة.
en - رمز اللغة العامة للغة الإنجليزيةen_US - الولايات المتحدةen_GB - المملكة المتحدةen_CA - كنداen_AU - أسترالياen_NZ - نيوزيلنداen_IN - الهندfr - رمز اللغة العامة للفرنسيةfr_FR - فرنساfr_BE - بلجيكاfr_CA - كنداfr_CH - سويسريfr_LU - لوكسمبورغfr_MC - موناكوde - رمز اللغة العامة للألمانيةde_DE - ألمانياde_AT - النمساde_BE - بلجيكاde_CH - سويسريde_LI - LieChtensteinde_LU - لوكسمبورغes - رمز اللغة العامة للإسبانيةes_ES - إسبانياes_AR - الأرجنتينes_BO - بوليفياes_CL - تشيليes_CO - كولومبياes_CR - كوستاريكاes_DO - جمهورية الدومينيكانes_EC - الإكوادورes_SV - السلفادورes_GT - غواتيمالاes_HN - هندوراسes_MX - المكسيكes_NI - نيكاراغواes_PA - بنماes_PY - باراجوايes_PE - بيروes_PR - بورتوريكوes_UY - أوروغوايes_US - الولايات المتحدةes_VE - فنزويلا