كيف تجد ، مع Java ، إذا تم تثبيت خط معين بشكل صحيح على جهاز

StackOverflow https://stackoverflow.com/questions/2270360

  •  20-09-2019
  •  | 
  •  

سؤال

لديّ دفتر كمبيوتر محمول يعمل على وين وين فيستا ، عندما اشتريته لأول مرة ، لن تظهر بعض الخطوط الصينية ، لا يمكنني رؤية المستطيلات إلا ، لكنني لعبت مع إعداد التحكم لفترة من الوقت ، وغيرت بعض الخصائص ، والآن تظهر الصينية الخطوط بشكل صحيح ، لكنني لا أتذكر ما فعلته.

الآن يعرض بعض برامجي كل من اللغة الإنجليزية والصينية ، شيء من هذا القبيل: "أدخل | 输入" (يعني الصينيين هنا أيضًا الدخول) ، ولكن إذا لم يكن لدى المستخدم خطوط صينية مثبتة بشكل صحيح على جهازه هذا: "أدخل | [] [] ، سؤالي هو: في Java كيفية اكتشاف ما إذا كانت هذه الأحرف ستظهر بشكل صحيح على جهاز معين ، إن لم يكن ، فقط عرض "Enter" ، إذا كان ، إظهار "Enter | 输入".

صريح

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

المحلول

java.awt.GraphicsEnvironment.getAvailableFontFamilyNames() يمكن أن تعطيك قائمة بالخطوط المتاحة المثبتة على النظام الحالي. يمكنك أيضا استخدام java.awt.GraphicsEnvironment.getAllFonts() لتأخذ، لتمتلك java.awt.Font أشياء.

ثم ، يمكنك استخدام java.awt.Font.canDisplay(int) للتحقق مما إذا كان يمكن عرض حرف Unicode في هذا الخط (حيث int هو تمثيل عدد صحيح من شخصية متعددة).

نصائح أخرى

نسخة كسول:

Arrays.asList(GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames()).contains(FONT_NAME)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top