تشخیص فونت فارسی و انگلیسی از روی عکس با هوش مصنوعی

چگونه فونت یک عکس، لوگو، پوستر یا سایت را پیدا کنیم؟ در این راهنما ابزارهای تشخیص فونت فارسی و انگلیسی، روش آماده‌سازی تصویر، مقایسۀ حروف و ساخت دستیار فونت‌یاب با API درواره را یاد می‌گیرید.

Share
تشخیص فونت فارسی و انگلیسی از روی عکس با هوش مصنوعی

ممکن است در یک پوستر، لوگو، بنر، کتاب، تصویر اینستاگرام یا وب‌سایت با فونتی روبه‌رو شوید که نام آن را نمی‌دانید. اگر فایل اصلی طراحی موجود نباشد، تشخیص فونت فقط با نگاه‌کردن به تصویر می‌تواند دشوار باشد؛ به‌خصوص زمانی که چند فونت ساختار مشابهی دارند یا طراح شکل حروف را تغییر داده است.

ابزارهای شناسایی فونت از روی عکس، تصویر متن را دریافت می‌کنند و شکل حروف را با مجموعه‌ای از فونت‌های شناخته‌شده مقایسه می‌کنند. نتیجۀ این ابزارها ممکن است نام دقیق فونت یا چند فونت مشابه باشد.

برای فونت‌های انگلیسی ابزارهای متعددی مانند WhatTheFont، Font Squirrel Matcherator، WhatFontIs و Adobe Fonts Visual Search وجود دارند. تشخیص فونت فارسی کمی دشوارتر است، زیرا بسیاری از ابزارهای بین‌المللی برای حروف لاتین بهینه شده‌اند. برای نمونه، Adobe Fonts در صفحۀ جست‌وجوی تصویری خود اعلام می‌کند که این قابلیت در حال حاضر از متن لاتین پشتیبانی می‌کند و برای سایر سیستم‌های نوشتاری تطابق دقیقی ارائه نمی‌دهد. Adobe Fonts Visual Search

بااین‌حال، با استفاده از ابزارهای تخصصی فارسی، آماده‌سازی صحیح تصویر، مقایسۀ حروف شاخص و کمک‌گرفتن از مدل‌های چندوجهی می‌توان دایرۀ گزینه‌ها را محدود کرد و در بسیاری از موارد به فونت اصلی یا نزدیک‌ترین جایگزین رسید.

در این مقاله، روش کامل تشخیص فونت فارسی و انگلیسی را بررسی می‌کنیم و در بخش فنی یک دستیار تحلیل فونت با API درواره می‌سازیم.

تشخیص فونت از روی عکس چگونه انجام می‌شود؟

سامانۀ تشخیص فونت معمولاً چند مرحله را انجام می‌دهد:

  1. ناحیۀ حاوی متن را در تصویر پیدا می‌کند.
  2. پس‌زمینه و اجزای غیرمتنی را حذف می‌کند.
  3. حروف یا کلمات را از یکدیگر جدا می‌کند.
  4. ویژگی‌های ظاهری حروف را استخراج می‌کند.
  5. نتیجه را با نمونه‌های موجود در بانک فونت مقایسه می‌کند.
  6. چند فونت با بیشترین شباهت را نمایش می‌دهد.

ویژگی‌های قابل‌مقایسه عبارت‌اند از:

  • ضخامت حروف
  • ارتفاع حروف
  • عرض نسبی نویسه‌ها
  • انحنای خطوط
  • شکل نقطه‌ها
  • فرم دندانه‌ها
  • اندازۀ کاسه حروف
  • نحوۀ اتصال حروف
  • اندازۀ فضای داخلی
  • میزان کشیدگی
  • گرد یا زاویه‌داربودن گوشه‌ها
  • فاصله بین حروف
  • فرم اعداد
  • شکل علائم نگارشی

در متن فارسی، یک حرف ممکن است براساس جایگاه خود در ابتدا، وسط یا انتهای کلمه شکل متفاوتی داشته باشد. این موضوع تشخیص فونت فارسی را پیچیده‌تر می‌کند.

چرا تشخیص فونت فارسی دشوارتر است؟

حروف به یکدیگر متصل می‌شوند

در بیشتر فونت‌های فارسی، حروف یک کلمه به هم متصل‌اند. ابزار نمی‌تواند همیشه مرز هر حرف را به‌سادگی مشخص کند.

هر حرف چند فرم دارد

برای مثال، شکل یک حرف در ابتدای کلمه ممکن است با شکل همان حرف در انتهای کلمه متفاوت باشد. موتور شناسایی باید فرم‌های مختلف را در نظر بگیرد.

بعضی فونت‌ها بسیار شبیه‌اند

فونت‌های فارسی ممکن است در نگاه اول تقریباً یکسان به نظر برسند، اما در جزئیاتی مانند فرم «ک»، «گ»، «ی»، اعداد یا نقطه‌ها متفاوت باشند.

تنوع بانک فونت محدود است

ابزار تشخیص فقط فونت‌هایی را پیدا می‌کند که نمونه‌های آن‌ها در بانک اطلاعاتی موجود باشند. اگر فونت اختصاصی، قدیمی یا کمترشناخته‌شده باشد، ممکن است فقط گزینه‌های مشابه نمایش داده شوند.

تغییرات طراح تشخیص را دشوار می‌کند

ممکن است طراح:

  • فاصله حروف را تغییر داده باشد.
  • متن را کشیده یا فشرده کرده باشد.
  • بخشی از حروف را دستی ویرایش کرده باشد.
  • حروف را به مسیر برداری تبدیل کرده باشد.
  • از ترکیب دو فونت استفاده کرده باشد.
  • افکت سایه یا دورخط اضافه کرده باشد.
  • لوگوتایپ اختصاصی ساخته باشد.

در این شرایط، ممکن است هیچ فونت آماده‌ای دقیقاً با تصویر برابر نباشد.

تفاوت فونت، تایپ‌فیس و لوگوتایپ

پیش از جست‌وجو باید مشخص کنیم با چه چیزی روبه‌رو هستیم.

تایپ‌فیس

طراحی کلی یک خانوادۀ حروف است. برای مثال، یک خانواده ممکن است شامل وزن‌های نازک، معمولی، متوسط و ضخیم باشد.

فونت

در کاربرد روزمره، فونت به فایل یا سبک مشخصی از خانوادۀ حروف گفته می‌شود؛ مانند وزن Bold یا Regular.

لوگوتایپ

لوگوتایپ ممکن است ابتدا با یک فونت ساخته شده باشد، اما حروف آن بعداً به‌صورت دستی تغییر کرده باشند. در این حالت ابزارهای فونت‌یاب شاید فقط فونت پایۀ احتمالی را پیدا کنند.

اگر هیچ نتیجۀ کاملاً مشابهی یافت نشد، احتمال دارد متن تصویر لوگوتایپ اختصاصی یا حروف‌نگاری دستی باشد.

چه تصاویری برای تشخیص فونت مناسب‌اند؟

تصویر مناسب این ویژگی‌ها را دارد:

  • متن واضح و در فوکوس است.
  • اندازۀ حروف کافی است.
  • کنتراست متن و پس‌زمینه زیاد است.
  • متن تقریباً افقی است.
  • سایه و افکت شدید ندارد.
  • فقط یک فونت در ناحیۀ انتخابی وجود دارد.
  • حروف بریده نشده‌اند.
  • تصویر بیش از حد فشرده نشده است.
  • چند حرف متفاوت قابل‌مشاهده‌اند.

تصویر نامناسب:

  • اسکرین‌شات بسیار کوچک
  • عکس کج و پرسپکتیودار
  • متن روی پس‌زمینۀ شلوغ
  • نوشته دارای سایه چندلایه
  • متن محوشده
  • نوشته روی سطح منحنی
  • فقط یک حرف
  • لوگوی بسیار تغییر‌یافته
  • متن دست‌نویس
  • ترکیب چند فونت در یک خط

آماده‌سازی تصویر برای تشخیص بهتر

گاهی تفاوت میان یک نتیجۀ درست و یک نتیجۀ اشتباه فقط در کیفیت تصویر ورودی است.

متن را برش دهید

فقط خطی را نگه دارید که فونت موردنظر در آن دیده می‌شود. لوگو، آیکون، تصویر محصول و سایر نوشته‌ها را از کادر حذف کنید.

یک فونت را در هر تصویر نگه دارید

اگر تیتر و متن اصلی از دو فونت متفاوت استفاده می‌کنند، هر بخش را جداگانه برش دهید.

تصویر را صاف کنید

اگر تصویر با زاویه گرفته شده است، آن را اصلاح کنید تا خط متن افقی شود. تغییر پرسپکتیو می‌تواند نسبت عرض و ارتفاع حروف را تغییر دهد.

کنتراست را افزایش دهید

برای متن تیره روی زمینۀ روشن، تصویر خاکستری یا سیاه‌وسفید معمولاً تشخیص را ساده‌تر می‌کند.

افکت‌ها را کاهش دهید

در صورت امکان، سایه، Glow، دورخط و بافت پس‌زمینه را حذف کنید. هدف رسیدن به شکل اصلی حروف است.

رزولوشن را حفظ کنید

بزرگ‌کردن یک تصویر کوچک الزاماً جزئیات جدیدی ایجاد نمی‌کند، اما استفاده از نسخۀ اصلی می‌تواند بسیار مؤثر باشد.

چند کلمه نگه دارید

یک کلمۀ خیلی کوتاه اطلاعات کافی ندارد. بهتر است چند حرف متفاوت در نمونه وجود داشته باشد.

برای فونت فارسی، وجود حروفی مانند این‌ها می‌تواند به مقایسه کمک کند:

ک گ ی م ه ع ن س ش د ر

وجود اعداد فارسی نیز مفید است:

۱۲۳۴۵۶۷۸۹۰

تشخیص فونت انگلیسی با WhatTheFont

WhatTheFont ابزار MyFonts برای شناسایی فونت از روی تصویر است. کاربر تصویر را بارگذاری می‌کند و ابزار نمونه را با مجموعه فونت‌های خود مقایسه می‌کند. نسخۀ موبایل نیز امکان گرفتن عکس و مشاهده فونت‌های مشابه را فراهم می‌کند. WhatTheFont

روش استفاده:

  1. وارد WhatTheFont شوید.
  2. تصویر را بارگذاری کنید.
  3. کادر را روی خط متن موردنظر قرار دهید.
  4. در صورت نیاز چرخش و برش را اصلاح کنید.
  5. اجازه دهید ابزار حروف را تحلیل کند.
  6. فهرست فونت‌های مشابه را بررسی کنید.
  7. متن خود را با فونت‌های پیشنهادی پیش‌نمایش کنید.
  8. جزئیات حروف شاخص را با تصویر اصلی مقایسه کنید.

برای مقایسه به چه چیزهایی توجه کنیم؟

  • شکل حرف a
  • شکل حرف g
  • فرم انتهای t
  • انحنای s
  • اندازۀ نقطه روی i
  • عرض M و W
  • شکل اعداد
  • ارتفاع حروف کوچک
  • ضخامت خطوط
  • فاصله حروف

ابزار ممکن است خانوادۀ درست اما وزن اشتباه را پیشنهاد دهد. وزن، Italic بودن و عرض فونت را جداگانه بررسی کنید.

تشخیص فونت با Font Squirrel Matcherator

Font Squirrel Matcherator تصویر JPG، GIF یا PNG را دریافت می‌کند و فونت‌های مشابه را پیشنهاد می‌دهد. Font Squirrel Matcherator

مراحل کلی:

  1. تصویر را بارگذاری کنید.
  2. ناحیۀ متن را انتخاب کنید.
  3. کلمات یا حروف شناسایی‌شده را بررسی کنید.
  4. نتیجه‌های پیشنهادی را مشاهده کنید.
  5. فونت‌های رایگان و تجاری را جداگانه بررسی کنید.
  6. نمونۀ فونت را با تصویر اصلی مقایسه کنید.

این ابزار بیشتر برای متن لاتین مناسب است. برای متن فارسی ممکن است نتیجۀ قابل‌استفاده‌ای ارائه نکند.

تشخیص فونت با WhatFontIs

WhatFontIs یک ابزار آنلاین برای شناسایی فونت از روی تصویر است. این سرویس مراحل برش، بهبود تصویر و جداسازی حروف را در اختیار کاربر قرار می‌دهد و سپس فونت‌های مشابه را نمایش می‌دهد. WhatFontIs

برای نتیجۀ بهتر:

  • فقط یک خط متن بارگذاری کنید.
  • حروف به اندازۀ کافی بزرگ باشند.
  • پس‌زمینه ساده باشد.
  • حروف به یکدیگر نچسبیده باشند.
  • متن شکسته یا ناقص نباشد.

برای فونت‌های متصل یا Script، جداسازی درست حروف اهمیت بیشتری دارد.

Adobe Fonts امکان جست‌وجوی بصری با بارگذاری تصویر را فراهم می‌کند. کاربر تصویر را انتخاب، ناحیۀ متن را مشخص و فونت‌های مشابه را مشاهده می‌کند. راهنمای رسمی Adobe

نکتۀ مهم این است که جست‌وجوی تصویری Adobe Fonts طبق توضیح صفحۀ رسمی، در حال حاضر برای متن لاتین طراحی شده است. بنابراین نباید انتظار داشت فونت فارسی را با دقت مشابه شناسایی کند.

Match Font در Photoshop

در Photoshop می‌توانید:

  1. تصویر را باز کنید.
  2. با ابزار انتخاب، ناحیۀ متن را مشخص کنید.
  3. از منوی Type گزینۀ Match Font را انتخاب کنید.
  4. پیشنهادها را مشاهده کنید.
  5. فونت‌های نصب‌شده و فونت‌های Adobe Fonts را مقایسه کنید.

Adobe آموزش رسمی این قابلیت را برای یافتن فونت‌های مشابه در تصویر ارائه کرده است. Match Font در Photoshop

Retype در Illustrator

قابلیت Retype در Illustrator می‌تواند متن‌های تصویری یا تبدیل‌شده به Outline را شناسایی و فونت‌های مشابه پیشنهاد کند. این قابلیت برای بعضی سیستم‌های نوشتاری محدودیت دارد و باید پشتیبانی خط موردنظر را بررسی کنید. راهنمای Retype در Illustrator

تشخیص فونت فارسی با فونت‌کاو

فونت‌کاو یک ابزار آنلاین برای تشخیص فونت فارسی از روی تصویر است و اعلام می‌کند بیش از هزار فونت فارسی را در فرایند جست‌وجو بررسی می‌کند. فونت‌کاو

روش استفاده:

  1. از متن فارسی تصویر واضح تهیه کنید.
  2. ناحیۀ متن را جدا کنید.
  3. افکت‌ها و پس‌زمینۀ شلوغ را تا حد امکان حذف کنید.
  4. تصویر را در فونت‌کاو بارگذاری کنید.
  5. گزینه‌های پیشنهادی را مشاهده کنید.
  6. چند حرف شاخص را با پیش‌نمایش فونت‌ها مقایسه کنید.
  7. وزن و سبک فونت را جداگانه بررسی کنید.

نتیجۀ فونت‌یاب را قطعی در نظر نگیرید. ممکن است فونت اصلی در بانک ابزار موجود نباشد یا طرح تصویر تغییر داده شده باشد.

روش دستی تشخیص فونت فارسی

حتی با وجود ابزارهای هوش مصنوعی، بررسی دستی برای فونت فارسی اهمیت زیادی دارد.

مرحلۀ اول: دستۀ ظاهری را تعیین کنید

ابتدا مشخص کنید فونت به کدام گروه نزدیک‌تر است:

  • رسمی و متنی
  • سنس و مدرن
  • هندسی
  • دست‌نویس
  • نمایشی
  • خوشنویسی
  • نستعلیق
  • تیتر و ضخیم
  • مناسب رابط کاربری
  • مناسب کتاب و متن طولانی

مرحلۀ دوم: وزن را تشخیص دهید

وزن تقریبی می‌تواند یکی از این موارد باشد:

Thin
Light
Regular
Medium
SemiBold
Bold
ExtraBold
Black

گاهی فونت درست پیدا می‌شود، اما وزن اشتباه باعث می‌شود نتیجه متفاوت به نظر برسد.

مرحلۀ سوم: حروف شاخص را مقایسه کنید

برای فونت فارسی این حروف معمولاً مفیدند:

حرف «ک»

  • شکل سرکش
  • زاویه اتصال
  • ارتفاع بخش عمودی
  • تفاوت ک فارسی و عربی

حرف «گ»

  • شکل و محل سرکش اضافه
  • فاصله سرکش‌ها
  • انحنای بدنه

حرف «ی»

  • فرم پایانی
  • کشیدگی دنباله
  • تفاوت ی فارسی و عربی

حرف «ه»

  • شکل ه پایانی
  • اندازۀ فضای داخلی
  • اتصال به حرف قبل

حرف «م»

  • فرم م ابتدایی و پایانی
  • اندازۀ کاسه
  • زاویۀ اتصال

اعداد

شکل اعداد یکی از بهترین سرنخ‌هاست، به‌خصوص:

۲ ۳ ۴ ۵ ۷

ممکن است دو فونت در حروف شبیه باشند، اما فرم اعداد آن‌ها تفاوت آشکاری داشته باشد.

مرحلۀ چهارم: نسبت‌ها را مقایسه کنید

  • ارتفاع حروف نسبت به عرض
  • طول دندانه‌ها
  • اندازۀ نقطه
  • فاصلۀ خط پایه تا نقطه
  • گردی یا شکستگی گوشه‌ها
  • فشردگی کلمات
  • فضای داخلی حروف

مرحلۀ پنجم: متن مشابه بسازید

عبارت داخل تصویر را با فونت‌های احتمالی تایپ کنید و در یک اندازۀ برابر روی تصویر قرار دهید. شفافیت لایۀ مقایسه را کاهش دهید تا تفاوت‌ها دیده شوند.

در Photoshop یا Figma می‌توانید:

  1. تصویر اصلی را در پایین قرار دهید.
  2. متن قابل‌ویرایش را روی آن بنویسید.
  3. اندازۀ فونت را تنظیم کنید.
  4. فاصلۀ حروف و ارتفاع خط را هماهنگ کنید.
  5. شفافیت لایۀ متن را کاهش دهید.
  6. فونت‌های احتمالی را یکی‌یکی آزمایش کنید.

این روش از مقایسۀ ذهنی دقیق‌تر است.

چگونه فونت یک وب‌سایت را پیدا کنیم؟

اگر متن هنوز در یک وب‌سایت زنده وجود دارد، استفاده از تصویر بهترین روش نیست. مرورگر می‌تواند نام فونت استفاده‌شده را مستقیماً نشان دهد.

روش Inspect در Chrome و Edge

  1. روی متن موردنظر راست‌کلیک کنید.
  2. Inspect را انتخاب کنید.
  3. عنصر متن را در پنل Elements پیدا کنید.
  4. بخش Computed را باز کنید.
  5. عبارت font-family را جست‌وجو کنید.
  6. نام فونت و فونت‌های جایگزین را مشاهده کنید.
  7. بخش Rendered Fonts را نیز بررسی کنید.

نمونه CSS:

font-family: "Vazirmatn", "Tahoma", sans-serif;
font-weight: 500;
font-size: 16px;
line-height: 1.8;

توجه کنید font-family ممکن است یک فهرست باشد. مرورگر اولین فونتی را استفاده می‌کند که در دسترس و مناسب حروف موردنظر باشد. بخش Rendered Fonts مشخص می‌کند واقعاً کدام فونت رندر شده است.

بررسی فایل فونت

در DevTools:

  1. وارد بخش Network شوید.
  2. صفحه را دوباره بارگذاری کنید.
  3. فیلتر Font را انتخاب کنید.
  4. فایل‌های woff2، woff یا سایر فرمت‌ها را مشاهده کنید.
  5. نام فایل و مسیر آن را بررسی کنید.

وجود فایل روی سایت به معنای مجازبودن استفاده مجدد از آن در پروژۀ دیگر نیست. فونت موردنظر را از منبع رسمی و متناسب با مجوز استفاده تهیه کنید.

تشخیص فونت در فایل PDF

اگر متن PDF هنوز به مسیر برداری یا تصویر تبدیل نشده باشد، نام فونت ممکن است داخل خود فایل ثبت شده باشد.

روش‌های بررسی:

  • Properties در نرم‌افزار PDF
  • بخش Fonts در Document Properties
  • ابزار pdffonts
  • استخراج متن و Metadata
  • بررسی فایل در Illustrator یا Acrobat

در سیستم‌هایی که Poppler نصب است:

pdffonts document.pdf

خروجی ممکن است شامل اطلاعاتی مانند این باشد:

name          type       emb  sub  uni
ABCDEE+Font   TrueType   yes  yes  yes

پیشوندهای تصادفی ممکن است به‌دلیل Subset شدن فونت ایجاد شده باشند. اگر متن PDF به تصویر تبدیل شده باشد، باید از روش تشخیص تصویری استفاده کنید.

استفاده از مدل چندوجهی برای تحلیل فونت

مدل‌های چندوجهی می‌توانند تصویر و متن را هم‌زمان تحلیل کنند. این مدل‌ها ممکن است برای فونت‌های مشهور چند نام احتمالی پیشنهاد دهند، اما بانک تخصصی تمام فونت‌های فارسی و لاتین را ندارند.

بنابراین کاربرد مناسب مدل چندوجهی این نیست که بپرسید:

نام دقیق این فونت چیست؟

درخواست بهتر:

ویژگی‌های تایپوگرافی متن را تحلیل کن، آن را در یک دستۀ ظاهری قرار بده، حروف شاخص را مشخص کن و حداکثر پنج فونت احتمالی یا مشابه پیشنهاد بده. اگر نام دقیق قابل‌تشخیص نیست، صریحاً اعلام کن.

مدل می‌تواند در این موارد کمک کند:

  • تشخیص فارسی یا لاتین بودن خط
  • تشخیص دسته کلی فونت
  • تخمین وزن
  • تشخیص رسمی یا نمایشی بودن
  • شناسایی حروف مناسب برای مقایسه
  • پیشنهاد کلمات آزمایشی
  • ساخت چک‌لیست مقایسه
  • استخراج متن تصویر
  • توضیح تفاوت چند فونت پیشنهادی
  • پیشنهاد جایگزین مشابه

پرامپت کامل تشخیص فونت از روی تصویر

نقش تو دستیار تحلیل تایپوگرافی و شناسایی فونت است.

تصویر پیوست‌شده را بررسی کن و مراحل زیر را انجام بده:

1. متن قابل‌مشاهده را استخراج کن.
2. زبان و سیستم نوشتاری را مشخص کن.
3. ویژگی‌های بصری را توضیح بده:
   - دسته فونت
   - وزن تقریبی
   - فشردگی
   - کنتراست ضخامت
   - فرم گوشه‌ها
   - شکل نقطه‌ها
   - فرم حروف شاخص
   - شکل اعداد
4. مشخص کن متن احتمالاً فونت آماده، فونت تغییریافته یا لوگوتایپ اختصاصی است.
5. حداکثر پنج فونت احتمالی یا مشابه پیشنهاد بده.
6. برای هر پیشنهاد، شباهت‌ها و تفاوت‌ها را بنویس.
7. سطح اطمینان را کم، متوسط یا زیاد اعلام کن.
8. برای تشخیص دقیق‌تر بگو به چه تصویر یا حروفی نیاز داری.

اگر شواهد کافی نیست، نام دقیق را حدس قطعی نزن.

پرامپت مخصوص فونت فارسی

فونت فارسی موجود در تصویر را تحلیل کن.

روی این ویژگی‌ها تمرکز کن:
- فرم ک و گ
- شکل ی پایانی
- فرم ه پایانی
- کاسۀ م و ع
- ارتفاع دندانه‌ها
- شکل نقطه‌ها
- فرم اعداد فارسی
- میزان گردی یا هندسی‌بودن
- ضخامت و وزن
- فاصلۀ کلمات

ابتدا فقط ویژگی‌های قابل‌مشاهده را بنویس. سپس فونت‌های احتمالی یا نزدیک را پیشنهاد بده. میان «فونت دقیق» و «فونت مشابه» تفاوت بگذار و اگر تصویر برای تشخیص کافی نیست، اعلام کن.

پرامپت مقایسۀ دو فونت

تصویر اصلی و دو نمونۀ فونت پیشنهادی را مقایسه کن.

برای هرکدام این موارد را بررسی کن:
- فرم حروف شاخص
- عرض کلمات
- ارتفاع حروف
- اندازۀ نقطه‌ها
- وزن
- فرم اعداد
- فاصلۀ حروف
- کاسه‌ها و اتصالات

نتیجه را در جدول بنویس و مشخص کن کدام نمونه نزدیک‌تر است. اگر تفاوت‌ها برای تصمیم قطعی کافی نیستند، صریحاً اعلام کن.

پرامپت یافتن فونت جایگزین

گاهی فونت اصلی را پیدا می‌کنید، اما امکان استفاده از آن را ندارید. در این حالت می‌توانید فونت مشابه پیدا کنید:

ویژگی‌های فونت موجود در تصویر را تحلیل کن و پنج جایگزین پیشنهاد بده.

شرایط:
- پشتیبانی مناسب از فارسی
- مناسب رابط کاربری وب
- خوانایی در اندازه کوچک
- دارای چند وزن
- ترجیحاً متن‌باز یا دارای منبع رسمی روشن

برای هر گزینه، شباهت بصری، تفاوت مهم و کاربرد مناسب را توضیح بده. وضعیت مجوز را حدس نزن و فقط به منبع رسمی ارجاع بده.

یکی از نمونه‌های متن‌باز فارسی، وزیرمتن یا Vazirmatn است که به‌عنوان یک خانوادۀ فارسی و عربی برای وب و رابط کاربری توسعه یافته و در Google Fonts نیز ارائه می‌شود. Vazirmatn در Google Fonts

ساخت دستیار تحلیل فونت با API درواره

درواره ابزار اختصاصی فونت‌یاب یا بانک فونت نیست. درواره زیرساخت API هوش مصنوعی را فراهم می‌کند تا بتوانید یک مدل دارای قابلیت پردازش تصویر را در سایت یا اپلیکیشن خود به کار بگیرید.

مدل چندوجهی می‌تواند:

  • تصویر متن را بررسی کند.
  • متن را استخراج کند.
  • ویژگی‌های تایپوگرافی را توضیح دهد.
  • چند فونت احتمالی پیشنهاد دهد.
  • اطلاعات لازم برای مرحلۀ بعد را مشخص کند.
  • نتایج ابزار تخصصی فونت‌یاب را مقایسه کند.

برای شناسایی دقیق در مقیاس محصول، بهتر است مدل چندوجهی را با یک بانک تصویری از فونت‌های مجاز و موتور مقایسۀ تخصصی ترکیب کنید.

مراحل شروع:

  1. در درواره ثبت‌نام کنید.
  2. API Key بسازید.
  3. مدلی را انتخاب کنید که ورودی تصویر را پشتیبانی کند.
  4. Model ID را از صفحه مدل‌ها و قیمت‌ها بردارید.
  5. تصویر برش‌خورده را به مدل ارسال کنید.
  6. خروجی را به‌صورت ساخت‌یافته دریافت کنید.
  7. نام‌های پیشنهادی را با بانک فونت خود تطبیق دهید.
  8. نتیجه را برای مقایسۀ بصری به کاربر نمایش دهید.

در نمونه‌ها، YOUR_MODEL_ID را با شناسه مدل درواره جایگزین کنید.

نمونه cURL

curl https://api.darvareh.ir/v1/chat/completions \
  -H "Authorization: Bearer $DARVAREH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "YOUR_MODEL_ID",
    "messages": [
      {
        "role": "system",
        "content": "تو دستیار تحلیل تایپوگرافی هستی. نام فونت را بدون شواهد قطعی اعلام نکن. ابتدا ویژگی‌های قابل‌مشاهده را استخراج و سپس فونت‌های احتمالی یا مشابه را پیشنهاد بده."
      },
      {
        "role": "user",
        "content": [
          {
            "type": "text",
            "text": "فونت فارسی این تصویر را تحلیل کن. فرم حروف شاخص، وزن، دسته ظاهری و پنج فونت احتمالی یا مشابه را همراه سطح اطمینان ارائه بده."
          },
          {
            "type": "image_url",
            "image_url": {
              "url": "https://example.com/persian-text-sample.png"
            }
          }
        ]
      }
    ],
    "temperature": 0.2
  }'

نمونه Python با تصویر Base64

ابتدا کتابخانه را نصب کنید:

pip install openai

کد:

import os
import base64
from pathlib import Path
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["DARVAREH_API_KEY"],
    base_url="https://api.darvareh.ir/v1"
)

image_path = Path("font-sample.png")
image_bytes = image_path.read_bytes()
encoded_image = base64.b64encode(image_bytes).decode("utf-8")

data_url = f"data:image/png;base64,{encoded_image}"

response = client.chat.completions.create(
    model="YOUR_MODEL_ID",
    messages=[
        {
            "role": "system",
            "content": (
                "تو دستیار تحلیل فونت فارسی و لاتین هستی. "
                "مشاهدات را از حدس جدا کن. "
                "اگر نام دقیق قابل‌تشخیص نیست، فقط گزینه‌های مشابه ارائه بده."
            )
        },
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": """
این تصویر را تحلیل کن.

خروجی شامل:
- متن قابل‌مشاهده
- زبان
- دسته فونت
- وزن تقریبی
- ویژگی حروف شاخص
- احتمال لوگوتایپ‌بودن
- حداکثر پنج فونت احتمالی
- سطح اطمینان
- پیشنهاد برای تشخیص دقیق‌تر

نام فونت را قطعی فرض نکن.
"""
                },
                {
                    "type": "image_url",
                    "image_url": {
                        "url": data_url
                    }
                }
            ]
        }
    ],
    temperature=0.2
)

print(response.choices[0].message.content)

قالب دقیق ورودی تصویر و محدودیت اندازۀ فایل ممکن است بین مدل‌ها متفاوت باشد. مشخصات مدل انتخاب‌شده را پیش از پیاده‌سازی بررسی کنید.

خروجی JSON برای ابزار فونت‌یاب

برای استفاده در رابط کاربری، می‌توان خروجی را ساخت‌یافته کرد:

{
  "detected_text": "نمونه متن فارسی",
  "script": "Persian",
  "visual_features": {
    "category": "modern sans",
    "estimated_weight": "medium",
    "contrast": "low",
    "width": "normal",
    "corners": "mostly rounded",
    "dots": "compact"
  },
  "distinctive_glyphs": [
    {
      "glyph": "ک",
      "observation": "سرکش کوتاه و زاویه‌دار"
    },
    {
      "glyph": "ی",
      "observation": "فرم پایانی کشیده"
    }
  ],
  "candidates": [
    {
      "font_name": "نام فونت احتمالی",
      "match_type": "similar",
      "confidence": "medium",
      "similarities": [
        "وزن و عرض مشابه"
      ],
      "differences": [
        "فرم حرف ک متفاوت است"
      ]
    }
  ],
  "is_probably_custom_lettering": false,
  "next_steps": [
    "نمونه‌ای شامل اعداد فارسی تهیه کنید",
    "تصویر با وضوح بیشتر بارگذاری کنید"
  ]
}

System Prompt:

فقط JSON معتبر تولید کن.

قواعد:
- نام فونت بدون شواهد کافی قطعی اعلام نشود.
- match_type فقط exact_candidate یا similar باشد.
- confidence فقط low، medium یا high باشد.
- حداکثر پنج candidate تولید شود.
- ویژگی‌های قابل‌مشاهده از استنتاج جدا باشند.
- اگر تصویر لوگوتایپ تغییریافته است، is_probably_custom_lettering برابر true باشد.

در صورت پشتیبانی مدل از Structured Outputs یا JSON Schema، ساختار را در سطح API نیز اعتبارسنجی کنید.

معماری حرفه‌ای سامانه تشخیص فونت

یک سامانه دقیق‌تر فقط از مدل زبانی استفاده نمی‌کند. معماری پیشنهادی می‌تواند شامل این بخش‌ها باشد:

دریافت تصویر

  • بررسی نوع فایل
  • محدودکردن حجم
  • اصلاح جهت
  • حذف Metadata غیرضروری
  • برش ناحیۀ متن

تشخیص متن

OCR برای استخراج متن و تشخیص زبان استفاده می‌شود. برای فارسی باید شکل صحیح حروف و کدهای فارسی و عربی کنترل شوند.

پیش‌پردازش

  • تبدیل به خاکستری
  • افزایش کنتراست
  • حذف نویز
  • اصلاح پرسپکتیو
  • جداکردن متن از پس‌زمینه
  • تقسیم خطوط
  • تشخیص ناحیۀ هر فونت

تحلیل چندوجهی

مدل ویژگی‌های بصری را به زبان قابل‌فهم استخراج و گزینه‌های اولیه را پیشنهاد می‌دهد.

موتور تطبیق فونت

متن استخراج‌شده با فونت‌های بانک اطلاعاتی رندر می‌شود. سپس تصویر مرجع و تصاویر رندرشده با الگوریتم بینایی ماشین مقایسه می‌شوند.

رتبه‌بندی نتایج

امتیاز نهایی می‌تواند ترکیبی از این موارد باشد:

امتیاز شباهت تصویر
+ تطابق حروف شاخص
+ تطابق وزن
+ تطابق عرض
+ تطابق اعداد
+ وجود فونت در بانک

نمایش پیش‌نمایش

کاربر باید بتواند متن خودش را با هر فونت پیشنهادی ببیند و روی تصویر اصلی قرار دهد.

روش ساده مقایسۀ فونت‌ها با رندر خودکار

فرض کنید مجموعه‌ای از فونت‌های مجاز دارید. می‌توانید عبارت داخل تصویر را با هر فونت رندر و خروجی‌ها را برای مقایسه آماده کنید.

نمونۀ مفهومی با Pillow:

from pathlib import Path
from PIL import Image, ImageDraw, ImageFont

sample_text = "نمونه متن فارسی"
font_directory = Path("fonts")
output_directory = Path("previews")
output_directory.mkdir(exist_ok=True)

for font_path in font_directory.glob("*.ttf"):
    canvas = Image.new("RGB", (1200, 300), "white")
    draw = ImageDraw.Draw(canvas)
    font = ImageFont.truetype(str(font_path), size=72)

    draw.text(
        (50, 100),
        sample_text,
        font=font,
        fill="black",
        direction="rtl",
        language="fa"
    )

    output_path = output_directory / f"{font_path.stem}.png"
    canvas.save(output_path)

رندر صحیح فارسی به پشتیبانی کتابخانه و موتور شکل‌دهی متن وابسته است. در بعضی محیط‌ها ممکن است به تنظیمات یا ابزارهای تکمیلی برای اتصال درست حروف نیاز باشد.

این مرحله به‌تنهایی فونت را تشخیص نمی‌دهد؛ فقط نمونه‌های قابل‌مقایسه تولید می‌کند. سپس می‌توان از مدل بینایی یا بازبینی انسانی برای رتبه‌بندی استفاده کرد.

اشتباهات رایج در تشخیص فونت

جست‌وجو با تصویر کامل پوستر

وجود چند متن، عکس و افکت نتیجۀ ابزار را ضعیف می‌کند. فقط یک خط را جدا کنید.

یکی‌دانستن فونت مشابه با فونت دقیق

دو فونت می‌توانند بسیار شبیه باشند، اما فایل و مجوز متفاوتی داشته باشند. در نتیجه مشخص کنید ابزار «تطابق دقیق» یا «جایگزین مشابه» پیشنهاد داده است.

نادیده‌گرفتن وزن

فونت Regular و Bold ممکن است در شکل بعضی حروف تفاوت داشته باشند. نام خانواده به‌تنهایی کافی نیست.

نادیده‌گرفتن کشیدگی تصویر

اگر تصویر در طراحی فشرده یا کشیده شده باشد، فونت اصلی با نسبت طبیعی متفاوت به نظر می‌رسد.

اعتماد کامل به مدل عمومی

مدل چندوجهی ممکن است نام فونت مشهوری را براساس شباهت کلی پیشنهاد دهد. نتیجه را با نمونه واقعی مقایسه کنید.

تشخیص‌ندادن لوگوتایپ

بعضی نوشته‌ها فونت آماده نیستند. اگر حروف ساختار منحصربه‌فرد دارند یا اتصالات غیرعادی‌اند، احتمال طراحی اختصاصی وجود دارد.

استفاده از نسخۀ نامعتبر فونت

پس از تشخیص نام، فونت را از منبع رسمی یا توزیع‌کنندۀ معتبر تهیه و شرایط استفاده آن را بررسی کنید.

چک‌لیست تشخیص دقیق فونت

پیش از انتخاب نتیجۀ نهایی بررسی کنید:

  • متن با وضوح کافی ثبت شده است.
  • فقط یک فونت در تصویر وجود دارد.
  • تصویر صاف و بدون پرسپکتیو است.
  • افکت‌ها تا حد امکان حذف شده‌اند.
  • چند حرف متفاوت در نمونه وجود دارد.
  • وزن فونت بررسی شده است.
  • فرم حروف شاخص مقایسه شده است.
  • اعداد نیز در صورت وجود مقایسه شده‌اند.
  • فاصلۀ حروف و کلمات بررسی شده است.
  • متن با فونت پیشنهادی دوباره رندر شده است.
  • پیش‌نمایش روی تصویر اصلی قرار گرفته است.
  • احتمال لوگوتایپ اختصاصی در نظر گرفته شده است.
  • نتیجۀ چند ابزار با هم مقایسه شده است.
  • فونت از منبع معتبر تهیه می‌شود.

پرسش‌های متداول

چگونه فونت یک عکس را پیدا کنیم؟

ابتدا ناحیۀ متن را برش دهید و تصویر را صاف و واضح کنید. سپس آن را در ابزارهایی مانند WhatTheFont، Matcherator یا WhatFontIs بارگذاری و گزینه‌های پیشنهادی را با حروف تصویر مقایسه کنید.

چگونه فونت فارسی را از روی عکس تشخیص دهیم؟

از ابزار تخصصی فارسی مانند فونت‌کاو استفاده کنید، سپس شکل حروف شاخص مانند «ک»، «گ»، «ی»، «ه» و اعداد را با فونت‌های پیشنهادی مقایسه کنید. ابزارهای عمومی لاتین ممکن است برای فارسی دقیق نباشند.

آیا Google Lens فونت را تشخیص می‌دهد؟

Google Lens می‌تواند متن و تصاویر مشابه را جست‌وجو کند، اما یک موتور تخصصی تطبیق فونت نیست. ممکن است برای یافتن منبع اصلی تصویر کمک کند، ولی برای نام دقیق فونت از ابزار فونت‌یاب استفاده کنید.

آیا ChatGPT یا مدل‌های تصویری می‌توانند فونت را تشخیص دهند؟

مدل‌های چندوجهی می‌توانند ویژگی‌های فونت و چند نام احتمالی را پیشنهاد دهند، اما نباید پاسخ آن‌ها را قطعی فرض کرد. برای تأیید، متن را با فونت‌های پیشنهادی رندر و مقایسه کنید.

چگونه فونت یک سایت را پیدا کنیم؟

روی متن راست‌کلیک کنید، وارد Inspect شوید و در بخش Computed مقدار font-family و Rendered Fonts را بررسی کنید. این روش از تشخیص با اسکرین‌شات دقیق‌تر است.

چگونه فونت PDF را پیدا کنیم؟

اگر فونت داخل PDF ثبت شده باشد، بخش Document Properties یا ابزار pdffonts می‌تواند نام آن را نشان دهد. اگر صفحه به تصویر تبدیل شده باشد، باید از روش تشخیص تصویری استفاده کنید.

چرا ابزار فونت‌یاب نتیجۀ اشتباه می‌دهد؟

کیفیت پایین عکس، افکت‌های تصویری، فونت فارسی، نبود فونت در بانک اطلاعاتی، تغییر دستی حروف یا لوگوتایپ‌بودن نوشته از دلایل رایج هستند.

چگونه بفهمیم نوشته فونت است یا لوگوتایپ؟

اگر حروف دارای اتصالات، کشیدگی‌ها یا فرم‌هایی باشند که در سایر کلمات همان سبک تکرار نمی‌شوند، احتمال طراحی اختصاصی وجود دارد. مقایسۀ چند حرف با فونت‌های آماده نیز به تشخیص کمک می‌کند.

آیا می‌توان اپلیکیشن تشخیص فونت ساخت؟

بله. می‌توانید از OCR، پیش‌پردازش تصویر، بانک فونت، موتور مقایسۀ تصویری و یک مدل چندوجهی از طریق API درواره استفاده کنید. مدل چندوجهی برای تحلیل ویژگی‌ها و توضیح نتیجه مفید است.

هزینۀ استفاده از مدل تصویری چقدر است؟

هزینه به مدل، اندازۀ تصویر، تعداد درخواست‌ها و میزان Token ورودی و خروجی بستگی دارد. برای مشاهده مدل‌های دارای قابلیت Vision و قیمت به‌روز، صفحه مدل‌های درواره را بررسی کنید.

جمع‌بندی

تشخیص فونت از روی عکس زمانی نتیجه بهتری می‌دهد که تصویر به‌درستی آماده شده باشد. برش ناحیۀ متن، حذف پس‌زمینۀ شلوغ، اصلاح زاویه و انتخاب نمونه‌ای با حروف متنوع، کیفیت تطبیق را افزایش می‌دهد.

برای فونت‌های لاتین می‌توان از WhatTheFont، Font Squirrel Matcherator، WhatFontIs و ابزارهای Adobe استفاده کرد. برای متن فارسی، ابزارهای تخصصی فارسی و مقایسۀ دستی حروف اهمیت بیشتری دارند.

اگر متن در یک وب‌سایت زنده قرار دارد، به‌جای تصویر از DevTools مرورگر استفاده کنید. اگر متن در PDF واقعی است، اطلاعات فونت را از مشخصات سند استخراج کنید. روش تصویری بیشتر زمانی مناسب است که فقط اسکرین‌شات، عکس یا فایل تخت‌شده در اختیار دارید.

مدل‌های چندوجهی می‌توانند ویژگی‌های تایپوگرافی را تحلیل و چند فونت احتمالی پیشنهاد دهند، اما برای شناسایی دقیق بهتر است آن‌ها را با یک بانک فونت و موتور مقایسۀ تصویری ترکیب کنید.

برای ساخت دستیار تحلیل فونت، ابزار بررسی طرح یا قابلیت Vision در نرم‌افزار خود می‌توانید در درواره ثبت‌نام کنید، API Key بگیرید و مدل تصویری مناسب را از فهرست مدل‌های درواره انتخاب کنید.

مقالات مرتبط

برای مطالعه شرایط استفاده و محدودیت‌های مسئولیت، صفحه «سلب مسئولیت» را مشاهده کنید.

Read more

اتوماسیون هوش مصنوعی چیست؟ کاربردها و آموزش ساخت AI Automation

اتوماسیون هوش مصنوعی چیست؟ کاربردها و آموزش ساخت AI Automation

اتوماسیون هوش مصنوعی با ترکیب گردش‌کارهای خودکار و مدل‌های هوش مصنوعی، پردازش متن، دسته‌بندی، استخراج اطلاعات و تصمیم‌های پیشنهادی را خودکار می‌کند. در این راهنما، معماری و ساخت نمونه عملی آن با API درواره را می‌آموزید.

Agentic Commerce چیست؟ آینده خرید با ایجنت هوش مصنوعی

Agentic Commerce چیست؟ آینده خرید با ایجنت هوش مصنوعی

Agentic Commerce شیوه‌ای جدید برای خرید اینترنتی است که در آن ایجنت هوش مصنوعی می‌تواند نیاز کاربر را بفهمد، محصولات را جست‌وجو و مقایسه کند و فرایند خرید را پیش ببرد. در این راهنما با معماری، UCP، ACP و پیاده‌سازی آن با API درواره آشنا می‌شوید.