سؤال

للتطبيق العلمي ، أريد تصميم نموذج إدخال يتيح للمستخدم إدخال بعض المعلمات. تم تعيين بعضها باستخدام الحروف اليونانية ، وبعضها لديه رسائل لاتينية. يجب عرض أسماء المعلمات باستخدام عادي JLabel ضوابط.

على Windows ، تاهوما يحتوي الخط (الذي يستخدم للتسميات بشكل افتراضي) على كل من الحروف اللاتينية واليونانية ، لذلك أقوم ببساطة بتعيين خاصية النص للتسمية على سلسلة يونانية (Unicode) وكل شيء يعمل بشكل جيد.

أتساءل عما إذا كان هذا يعمل أيضًا دون تعديلات على نظام Linux و OSX. والتي سيعمل هذا الإصدارات Java/OS.

أنا أيضًا أشعر بالفضول إذا كانت هناك طريقة سهلة لإظهار الاشتراكات في الملصقات (" eta_0" في تكس) ، ولكن هذا ليس مهمًا لتطبيقي ...

هل كانت مفيدة؟

المحلول

ليس لدي شك في أن الغالبية العظمى من خطوط Unicode تشمل الكتلة اليونانية.

على جميع المنصات ، ولجميع اللغات.

عندما تكون هناك كتل Unicode المفقودة ، فهي مخصصة للاختزال لتوفير المساحة. لا تعتبر الشخصيات الخمسين أو نحو ذلك في الكتلة اليونانية لا تقارن بالآلاف من شخصيات شرق آسيا (والتي تم تضمينها لآخر سطح مكتب Linux بالفعل بشكل افتراضي ، راجع للشغل).

الحديث عن يونيكود الهوى: http://en.wikipedia.org/wiki/unicode_subscripts_and_superscripts

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

نصائح أخرى

إجابة @gunslinger47 هي التخلص منها ، ولكن قد تنظر أيضًا إلى هذا لعبه على منصات مستهدفة مختلفة. يعرض الرسوم الحربية من عدة مخططات رمز أحرف Unicode ، بما في ذلك اليونانية.

enum GlyphSet {

    ASCII(0x0021, 0x007E), Greek(0x0370, 0x03FF), Letters(0x2100, 0x214F),
    Operators(0x2200, 0x22FF), Miscellany(0x2300, 0x23FF), Borders(0x2500, 0x257F),
    Symbols(0x2600, 0x26FF), Dingbats(0x2700, 0x27BF), Arrows(0x2900, 0x297F);
    ...
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top