سؤال

بعد تغيير باسدك من مشروعي إلى 10.6 لاحظت أن النص المخصص الخاص بي يبدو مختلفا (انظر إلى الصور:نفس الرمز للرسم)

أقل من 10.5 قاعدة:صورة1

أقل من 10.6 قاعدة:صورة2

أنا رسم مع [(نسترينغ *)ميسترينغ دراوينريكت:ميريكت ويثراتريبوتس:مياتريبوتس].

myAttributes = [[NSMutableDictionary alloc] initWithObjectsAndKeys: [NSColor myColor], NSForegroundColorAttributeName, [NSFont systemFontOfSize:18], NSFontAttributeName, paragraphStyle, NSParagraphStyleAttributeName, shadow, NSShadowAttributeName, nil];

ما هو سبب هذا الاختلاف, أو فقط كيفية تقليل سمك الخط?لقد حاولت تقليل السماكة بواسطة

[NSFontManager convertWeight:NO ofFont:font]

لكنها لا تبدو أفضل بكثير...

شكرا مقدما.

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

المحلول 2

الآن أعرف السبب وراء حدوث ذلك وإصلاح هذه المشكلة: يبدو أنه مع 10.6 تمت إضافة خيار تجديد LCD للخط، يتم تمكينه في التفضيلات -> المظهر -> "استخدام خط LCD Transing عند توفر مربع الاختيار" الذي يتم التحقق منه بشكل افتراضي.

لهذا السبب بعد تغيير Basesdk للمشروع إلى 10.6، أصبح النصوص في التطبيق أسلوب LCD سلاسة وتبدو سيئة على الإطلاق.

لذلك فإن إصلاح المشكلة في التعليمات البرمجية هو تغيير خيارات تجانس في سياق الرسومات قبل رسوماتنا: giveacodicetagpre.

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

بفضلNSGOD لإيجاد سبب هذه المشكلة.

نصائح أخرى

إذا قربنا و النظر عن كثب في كل من الصور سوف إشعار فوري الفرق (على الأقل أفعل):

enter image description here

النص في الجزء العلوي من الصورة باستخدام CRT-نمط الخط تجانس ، في حين أن النص في أسفل الصورة باستخدام متوسطة LCD-نمط الخط تجانس.(كل 3 أنماط من شاشات الكريستال السائل تجانس الخطوط سوف أعرض اللون يلقي في مكافحة مستعارة بكسل).

كنا بحاجة إلى مزيد من المعلومات عن الاختبار الخاص بك الإعداد لتكون قادرة على القول لماذا يحدث هذا.تحت أي نسخة(ق) من OS X هل الاختبار هذا ؟ على سبيل المثال ، كان التطبيق الخاص بك بنيت ضد 10.6 SDK مع نشر الهدف من 10.5 العليا صورة التقطت أثناء اختبار تحت OS X 10.5.x (على نفس الجهاز) ، وانخفاض صورة التقطت أثناء اختبار تحت 10.6.x ؟ أو كان الاختبار يتم في نظام التشغيل Mac OS X 10.6.x, وبناء ضد 10.5 SDK أدى في الجزء العلوي من الصورة ، وبناء ضد 10.6 SDK أدى إلى انخفاض الصورة ؟ ما نموذج ماك تستخدمه ؟ ما هو نوع الخارجية LCD أو CRT شاشات هل لديك التوصيل ؟

مجرد زوجين من الأفكار ، دون وجود معلومات طلبت أعلاه.الخط الافتراضي تجانس الاسلوب هو CRT في 10.5 أعتقد و 10.6 التخلف إلى "تلقائي".لذا, إذا كان لديك نظام مع شاشة LCD و تم الاختبار تحت 10.5, ولكن لم يتغير الخط تجانس نمط من الافتراضي CRT-النمط ، ثم ستحصل على صورة مثل العلوي واحدة.إذا كنت ثم تحولت إلى 10.6 على نفس النظام, فمن الممكن أن 10.6 التلقائي font-تمهيد تلقائيا الكشف عن جهاز عرض LCD, وتستخدم متوسطة LCD-نمط الخط تجانس ، مما سيؤدي في "أثقل البحث" النص في أسفل الصورة.

شيء آخر أن نأخذ في الاعتبار هو أن الخط تجانس القيمة المخزنة على طريق استضافة أساس.على سبيل المثال, على الجهاز الخاص بي ، AppleFontSmoothing يتم تخزين قيمة في ~/مكتبة/تفضيلات/ByHost/.GlobalPreferences.##########.plist ، حيث ########## هو الجهاز UUID.أعتقد أنه من الممكن أن يمكن أن يكون هناك 2 مختلفة القيم المخزنة على مضيف مختلف الاجهزة.

أنت تحصل على ما تطلبه

[NSFont systemFontOfSize:18]

هم على الأرجح خطوط مختلفة بمهارة بين 10.5 و 10.6.لقد أصيب مصمم الجرافيك بالجنون لأي سبب من الأسباب.

ماذا تحصل إذا قمت بتسجيل إخراج [NSFont systemFontOfSize:18].هل هو مختلف بين 10.5 و 10.6?

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top