الصورة الرمزية المقلوبة:الصورة النقطية > SVG عبر التتبع التلقائي > الصورة الرمزية عبر Fontforge

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

سؤال

أحاول إنشاء خط/صورة رسومية عن طريق:

  • التقاط صورة نقطية
  • إنشاء SVG باستخدام التتبع التلقائي (على Linux)
  • استيراد المخطط التفصيلي كحرف رسومي باستخدام python-fontforge (glyph.importOutlines(svgfile))

هذا يعمل بشكل جيد إلا أن الصورة الرمزية الناتجة في مقلوب (انظر الصور).هل لديك أي فكرة عن كيفية منع ذلك، أو كيف يمكن عكس SVG أو الصورة الرمزية، أو أي شيء من هذا القبيل؟

الصورة النقطية المصدر:source bitmap

SVG التي يتم تتبعها تلقائيًا:enter image description here

الخط الناتج:enter image description here

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

المحلول

حل هذا ببساطة عن طريق استخدام بوتريس بدلاً من التتبع التلقائي.

للإشارة، هذه هي الخطوات:

تحويل الصورة النقطية إلى SVG (سطر أوامر Linux):

potrace -s sourceimg.bmp

استخدم svg كحرف رسومي (بيثون):

import fontforge
font = fontforge.open('blank.sfd')
glyph = font.createMappedChar('A')
glyph.importOutlines('sourceimg.svg')
font.generate('testfont.ttf')

هذا كل شيء، النتيجة أدناه للاستخدام على موقع على شبكة الإنترنت:

المغلق:

@font-face
{
font-family: testfont;
src: url('testfont.ttf');
}

لغة البرمجة:

<span style="font-family:testfont; font-weight:normal; color:green;">A</span>
<span style="font-family:testfont; font-weight:bold; color:green;">A</span>

enter image description here

نصائح أخرى

يمكنك محاولة عكس المسار، ولست متأكدًا مما إذا كان هناك خيار في Fontforge يتيح لك القيام بذلك، ولكن يمكنك القيام بذلك باستخدامinkscape (Path > Reverse).

يبدو أن الصورة الرمزية الخاصة بك مرسومة باليد.إذا كنت تريد إنشاء خط TTF كاملًا يحتوي على عشرات أو مئات من الحروف الرسومية، فقد تفكر في ذلك على سبيل المثال. سكانهاند والتي استخدمتها لإنشاء الخطوط المرسومة باليد.ويستخدم قالبًا، حيث يمكنك رسم (أو لصق) الحروف، بحيث تأتي في الموضع الرأسي الصحيح.يتم حساب الموضع الأفقي (والتباعد) تلقائيًا على الأقل بـ [A-Za-z] (وقد يتم حسابه في المستقبل أيضًا بأحرف أخرى).

ولكن أنا أقدر الحل الخاص بك لأنه يستخدم أدوات مجانية أو مفتوحة المصدر ولديك سيطرة كاملة تقريبًا على كل شيء (على سبيل المثال.الفواصل).وأفضل شيء مع Potrace وfontforge هو أنه يمكنك القيام بذلك بسرعة أو إنشاء خدمة إنشاء الخطوط عبر الإنترنت!يتم نقل بوتريس AS3 (يعمل، لقد اختبرت) والآن أيضًا في JS ( https://github.com/antimatter15/js-potrace أو https://github.com/dunvi/potrace-js)، لذلك يجب أن يكون من الممكن أيضًا إنشاء نافذة معاينة في الوقت الفعلي، والتي توضح كيف تتغير نتيجة التوجيه عندما تتغير معلمات التتبع.

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