Latex3: طلب الميزة: الكشف عن اسم نظام التشغيل / النظام الأساسي

تم إنشاؤها على ٩ يناير ٢٠١٩  ·  25تعليقات  ·  مصدر: latex3/latex3

يرجى مراعاة إضافة واجهة لاكتشاف اسم نظام التشغيل / النظام الأساسي ، على سبيل المثال windows أو linux .

حزمة ctex ، على سبيل المثال ، طبقت \ctex_detected_platform:

https://github.com/CTeX-org/ctex-kit/blob/22cb36acfed66dab0fb35994bf18dd4bb5eb384e/ctex/ctex.dtx#L5947 -L6026

expl3 feature-request

التعليق الأكثر فائدة

أعتقد أن الطلب خاص بـ \ sys_if_platform_ macos : pTF (أو ما شابه) أيضًا. يمكن القيام بذلك عن طريق التحقق (على سبيل المثال) من وجود ملف لخط خاص بنظام mac أو ملف نظام.

ال 25 كومينتر

لدينا \sys_if_platform_(unix|windows):(pTF) و \c_sys_platform_str في l3candidates : هل تعمل من أجلك؟

نأمل في اختبار macos أيضًا ، نظرًا لأن fontspec وما إلى ذلك قد يكون له سلوك مختلف.

أرى أن هذا يتم ببساطة من خلال البحث عن ملف "قياسي" في macOS ، لذلك لا تحتاج إلى write18 ويجب أن تكون سريعة جدًا. لا اعتراضات مني. ما رأيك جوزيف؟

مرسلة مع GitHawk

فقط لمعلوماتك:

  • /Library/Fonts/Songti.ttc (الخط الصيني) موجود منذ macOS 10.9 (Mavericks).

    • تدعم ثنائيات "darwin" نظام macOS بدعم رسمي من Apple (10.10 Yosemite أو أحدث عندما بدأ TL2018) ، لذلك قد يكون ذلك جيدًا.

    • ومع ذلك ، لا يزال TL يحتوي على ثنائيات "darwinlegacy" التي تدعم 10.6 Snow Leopard - 10.9 Mavericks. لذلك ، سيفشل اختبار الوجود لـ /Library/Fonts/Songti.ttc لنظام التشغيل macOS 10.6 - 10.8.

  • قد يكون الاختبار الأكثر أمانًا لنظام macOS هو البحث عن خط لاتيني خاص (على سبيل المثال /System/Library/Fonts/Palatino.ttc /System/Library/Fonts/Menlo.ttc ).

    • لاحظ أن كود CTeX لا يزال معقولاً ، لأن الغرض من اكتشاف نظام التشغيل لـ CTeX هو تحديد الخط الصيني الذي يمكن تضمينه في البيئة.

شكرا على التفاصيل الاضافية! يبدو أن اختبار Palatino رهان آمن جدًا.

هل هذا مشمول بالقانون الحالي؟ هل تطلب منا التفكير في الانتقال إلى الاستقرار؟

أعتقد أن الطلب خاص بـ \ sys_if_platform_ macos : pTF (أو ما شابه) أيضًا. يمكن القيام بذلك عن طريق التحقق (على سبيل المثال) من وجود ملف لخط خاص بنظام mac أو ملف نظام.

فقط لمعلوماتك:

عذرًا ، /System/Library/Fonts/Palatino.ttc موجود منذ 10.9 Mavericks (لـ 10.8 Mountain Lion أو أقدم ، كان /Library/Fonts/Palatino.ttc بدلاً من ذلك) ،

بدءًا من 10.6 Snow Leopard حتى 10.14 Mojave ، يوجد دائمًا /System/Library/Fonts/Menlo.ttc . يمكن أن يكون هذا اختبارًا أكثر أمانًا.

هل ستنجح خطة "TeX banner" الخاصة بي؟ سيتعين علينا العمل قليلاً للحصول على العناصر الأولية مرتبة ((u) pTeX / XeTeX) ، ولكن هذا مكان واضح للعثور على تفاصيل واضحة لنظام التشغيل.

لا يحتوي شعار TeX الحالي دائمًا على اسم النظام الأساسي.

باستخدام pdfTeX ، رأيت أن إصدار دبيان يوفر (TeX Live 2018/debian) ويوفر إصدار Win32 (TeX Live 2018/W32TeX) ، لكن البعض الآخر لا يحتوي على أي سلسلة.

بالنسبة لـ e- (u) pTeX ، لدينا بالفعل تطبيق مرشح للراية البدائية: https://github.com/texjporg/tex-jp-build/compare/banner

المشكلات المتبقية هي اسمها (\ epTeXbanner ، \ eptexbanner ، مقابل اسم أكثر عمومية مثل \ enginebanner؟) والضرورة.

aminophen حسنًا ، يبدو أن هذا النهج لن يؤدي المهمة: لم أستطع تذكر ما تحتويه أنظمة MacOS TeX في اللافتة. لذا فإن الأمر لا يستحق القلق ، كما أظن. ربما يكون البحث عن ملف علامة هو أفضل ما يمكننا فعله

شيء مثل خط النظام الأساسي قد يكون مؤشرًا جيدًا بما يكفي لشيء مثل OSX ، من ناحية أخرى ، هناك دائمًا خطر عدم توفره في الإصدارات المستقبلية أو المتغير الإقليمي. بطريقة ما يبدو لي أنه لا ينبغي أن يكون الأمر صعبًا للغاية إذا كانت المحركات توفر هذه المعلومات بدلاً من ذلك (بشرط أن يحصل المرء على اتفاق على ما يقدمونه)

FrankMittelbach هل تفكر في شيء مثل \platformname كشيء بدائي؟ ربما يرفع أحدهم على قائمة TL؟

josephwright نعم شيء من هذا القبيل مع نتائج محددة عبر المحركات ، بحيث يبلغ الجميع عن نفس القيمة على نفس النظام الأساسي (وربما "غير معروف" للمنصات غير الشائعة / غير الموحدة).

FrankMittelbach سيكون بالتأكيد أفضل من محاولة التخمين مع المراوغات المعتمدة على النظام. يجب أن تكون استدعاءات نظام C ذات الصلة سهلة الاستخدام.

فقط googling ، وجدت هذا: https://stackoverflow.com/questions/3596310

لست متأكدًا مما إذا كانت هذه الوظيفة متاحة بالفعل على جميع الأنظمة الأساسية. أيضًا ، لا أعلم شيئًا عن القائمة الكاملة لـ "sysname" التي تم إرجاعها.

- على أي حال ، إذا اخترت اقتراح إضافة على مستوى المحرك ، آمل أن يكون هذا هو الاقتراح الأخير بخصوص معلومات الهندسة المعمارية. أعني ، إذا كانت هناك إمكانية لاقتراح مستقبلي (مثل الكشف عن 32/64 بت ، أو الكشف عن مراجعة نظام التشغيل) ، فيجب طرحها هنا أيضًا. لست مرتاحًا جدًا بشأن إضافة عناصر أولية جديدة كهذه من وقت لآخر ، لأن الاختبار على منصات مختلفة عادة ما يكون صعبًا.

أعتقد أننا في الوقت الحالي من المحتمل أننا غطينا قدر ما نستطيع هنا في expl3 : من المحتمل أن يتم التعامل مع أعمال الخطوط بواسطة كود مخصص.

josephwright آسف كنت قصدت العودة إلى هذا. IMO سيكون من الآمن جدًا اختبار /System/Library/Fonts/Menlo.ttc كطريقة سريعة وقوية للاستعلام عما إذا كنا نعمل في نظام التشغيل Mac OS. لقد كان هناك لفترة طويلة لذا ستعمل على الأنظمة الأساسية القديمة ؛ إنه جزء أساسي من نظام التشغيل لذا فمن غير المرجح أن يختفي ويجب أن يكون قويًا عبر عمليات التثبيت في المنطقة ؛ إنه في مسار من غير المحتمل أن يتم تكراره على منصات أخرى ؛ ملف الخط Menlo.ttc نفسه AFAIK غير متوفر بأي طريقة من جهات خارجية.

أقترح إضافة هذا الاختبار ، وأسوأ ما يمكن أن يحدث هو أنه إذا كان له بعض الاستخدام ، ووجد أنه يحتوي على بعض الحالات المتطورة ، فيمكننا استكشاف اكتشاف أكثر قوة لنظام التشغيل عبر الأساسيات أو ما شابه ذلك. يمكنني إضافة فرع لهذا إذا أردت؟

wspr هل الخطة فقط لتقسيم \sys_if_platform_unix:(TF) بحيث لا ينطبق ذلك على MacOS؟ أم تريد اختبار \sys_if_platform_macos:(TF) منفصل؟ أستطيع أن أرى المنطق في كلا النهجين.

josephwright أعتقد أن "إذا كان unix" سيعود صحيحًا لنظام التشغيل Mac OS. وربما أيضًا لنظام Windows الفرعي لنظام التشغيل Linux ؟؟ لا يمكنني اختبار ذلك.

wspr راجعت WSL: إنها unix "

في الوقت الحالي لدينا \c_sys_platform_str سيكون windows أو unix : هل نقوم بتغيير ذلك على نظام MacOS؟

في 5/6/19 10:37 كتب جوزيف رايت:

wspr https://github.com/wspr لقد راجعت WSL: إنها تشير إلى '| unix |'.

في الوقت الحاضر لدينا | \ c_sys_platform_str | الذي سيكون | windows | أو
| يونكس |: هل نقوم بتغيير ذلك على نظام التشغيل MacOS؟

هذا هو في الأساس نفس السؤال مثل \ sys_if_engine_ luatex: TF و
\ c_sys_engine_str واجهتنا مشكلة أخرى.

أقترح جعل \ c_sys_engine_str و \ c_sys_platform_str محددين
كما يمكن (في حدود المعقول ، فلا يتم تضمين الإصدارات وما لا) ، ولكن
السماح للعديد من \ sys_if_engine _... و \ sys_if_platform _... أن تكون صحيحة.
رأيي لا يتمسك بقوة.

أنا أتفق مع برونو ...

يجب الإشارة إلى أنه في نظام التشغيل macOS Catalina (10.15) ، تم نقل Songti.ttc والكثير من الخطوط الأخرى إلى /System/Library/Fonts/Supplemental/ .

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات