Skip to content
This repository has been archived by the owner on Aug 12, 2022. It is now read-only.

اضافه کردن قلم به ریپازیتوری homebrew-fonts #41

Open
aziz opened this issue Dec 31, 2015 · 33 comments
Open

اضافه کردن قلم به ریپازیتوری homebrew-fonts #41

aziz opened this issue Dec 31, 2015 · 33 comments

Comments

@aziz
Copy link
Contributor

aziz commented Dec 31, 2015

من دارم سعی می‌کنم قلم‌ها رو به ریپازیتوری caskroom/homebrew-fonts اضافه کنم ولی به دلیل عجیبی نمی‌تونه محتوای فایل زیپ رو بخونه و فونت‌ها رو توش پیدا کنه. من فایل زیپ رو خودم باز کردم و دوباره زیپ کردم و یه جایی آپلود کردم و درست کار کرد. به نظر از هر چیزی که برای زیپ کردن استفاده می‌کنی درست کار نمی‌کنه. می‌تونی این رو یه بررسی کنی. با یه چیز دیگه زیپ کن و یه جا آپلود کن تا من تست کنم.

Error: Uh oh, could not identify primary container for '/Library/Caches/Homebrew/font-samim-0.9.9.zip'

https://github.com/caskroom/homebrew-fonts

@aziz
Copy link
Contributor Author

aziz commented Dec 31, 2015

در ضمن یکی داوطلب شه و یه پکیج برای apt درست کنه که نصب این قلم‌ها رو لینوکس‌های دبیانی هم راحتتر شه.

@rastikerdar
Copy link
Owner

ورژن ۰.۱۰ رو به شیوه جدیدی فشرده کردم اما فرمت زیپ هست. نمی دونم درست شده یا نه

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

@aziz
Copy link
Contributor Author

aziz commented Feb 14, 2016

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

$ brew install cask font-samim

وزیر و گندم هم دارم آماده میکنم که اضافه کنم ولی پرستو و تنها هنوز ریلیس برنچ ندارند

نکته‌ بعدی که میخواستم سوال کنم اینه که الان بیلد پروسس تو چیه؟ یعنی چه طوری اون فایل‌های زیپ رو آماده میکنی؟ باید یه جوری اتومیت بشه تا بتونیم برای ریپوهای دیگه هم که مردم درخواست داده بودن مثل
bower یا npm
منتشر کنیم.

@zoghal
Copy link

zoghal commented Feb 14, 2016

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

@aziz
Copy link
Contributor Author

aziz commented Feb 14, 2016

@rastikerdar
Copy link
Owner

@aziz
دست شما درد نکنه عزیز جان
حقیقتش من از توی برنامه فونت فورج خروجی میگیرم.
بعد با یه اسکریپت ساده چند خطی اول هینتینگ رو اعمال می کنم بعد فایل های وب رو از روی آنها می سازم و سپس فشرده می کنم همه روی توی یک فایل.
یعنی از چهار تا برنامه استفاده میشه:
ttfautohint
sfnt2woff
mkeot
zip

البته هنوز بررسی نکردم که با خود فونت فورج از طریق شل خروجی بگیرم چون همیشه با خود محیط گرافیکی این کار رو می کردم سپس اون اسکریپت. اونم راحته میشه دستوریش کرد. در کل به نظرت این مراحل بیلد کمکی می کنه؟

@aziz
Copy link
Contributor Author

aziz commented Mar 2, 2016

به نظرم این ایشو رو میتونیم ببندیم ولی در مورد بیلد اسکریپت باید یه فکری کرد. شاید هم آنقدر ضروری نباشه. مثلا من به این نمونه فونت آیکون برخوردم که از دو تا ریپازیتوری جدا برای سورس و انتشار نهایی در npm یا bower استفاده میکنه

https://github.com/Templarian/MaterialDesign
https://github.com/Templarian/MaterialDesign-Webfont

@rastikerdar
Copy link
Owner

فکر می کنم فعلا تنها گزینه همان روش دومی هست که آلن عزیز میگه. چون بیلد اسکریپت از چند تا برنامه مختلف استفاده میکنه که خیلی مرسوم نیستند. همون برنامه هینتینگ رو هم از سورس کامپایل کردم چون بسته آماده نداشت. و البته خود برنامه فونت فورج هم مستندات ای پی آی برای کد نویسیش و همچنین بیلد خوندم مصیبتی بود. احساس می کردم لقمه چرخوندن به دور سره!
:D

@zoghal
Copy link

zoghal commented Mar 2, 2016

@rastikerdar در مورد فونت فورج و اسکریپت نویسی اگر مشکلی نیازی هست بهم بگو انجام میدم. من حداقل به تمامی api سطح پایین پروژه های کامایل فونت آشنایی مکفی پیدا کردم. میتونم کمک کنم.

@zoghal
Copy link

zoghal commented Mar 2, 2016

@aziz بهترین کار پیاده سازی یک cdn برای فونت های فارسی مثل گوگل فونت هست. من همه چیش رو آماده کردم، مطالعاتش و امکانات مورد نیاز، استراکچر پکیج و سیستم بروز رسانی و تا ۸۰٪ پیاده سازی هم شده. بجز دو مورد.
۱- گرافیکش تعریفی نداره.
۲- مشکل هاستش هست.
متاسفانه من قادر به تامین مالی خودم هم نیستم چه برسه به این کارها. حتی دارم پروژه خانه فونت رو تعطیل و ادامه رو به وبلاگم منتقل میکنم.
اگر کسی رو میشناسید که بتونه یک سال یا ۶ ماه هزینه پلن ۱۰ دلاری یک وی پی اس digitalocean.com رو اسپانسر بشه این بهترین راهکار هست که همه و همیشه از بروزترین نسخه فونت ها استفاده کنه.
فعلا قول هایی از یکی مدیران سازمان فناوری و اطلاعات برای هاست داخلی گرفتم. اما تا این قول به عمل تبدیل بشه. خدا عالمه :))

@aziz
Copy link
Contributor Author

aziz commented Mar 2, 2016

CDN که با یک هاست ده دلاری نمیشه درست کرد پسر خوب. اصلا اسمش Content Delivery Network ها. و دلیل اینه که مردم ازش استفاده می‌کنن اینه که به خاطر تعدد میرورها دان نمیشه و ترافیک زیادی رو میتونه تحمل کنه و به دلیل داشتن اج روی تیر سوم شبکه به مصرف کننده نزدیک‌تره و میتونه فایل‌ها رو سریعتر سرو کنه . اگر کلا یه سرویس می‌خوای که آخرین نسخه‌ها روهمیشه داشته باشه. خوب همین bower و npm که بچه‌ها درخواست پکیج‌های فونت رو روش کردن خیلی بهتره. هر کی خواست نصب می‌کنه واسه پروژه‌اش و به راحتی می‌تونه به روز رسانیشون کنه.

@rastikerdar
Copy link
Owner

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

@rastikerdar
Copy link
Owner

صالح جان
مثلا اینکه خروجی بگیره با پارامترهایی که توی پنجره تولید فونت نهایی مشخص می کنیم و همچنین گلیف های ارقام فارسی رو روی ارقام لاتین بنویسه. حتی در اینصورت هم باز مسئله هینتیگ و غیره هم پابرجاست.

@zoghal
Copy link

zoghal commented Mar 2, 2016

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

@rastikerdar در دیزی بازه حیایی گربه کجاست. در کل معتقدم یا کاری رو نباید کرد یا اگر میکنی باید کامل و درست انجام بشه. قرار هست سرویس به سایت‌‌های متعدد داده بشه. باید ریسک‌های رو در نظر داشت.

@zoghal
Copy link

zoghal commented Mar 2, 2016

@rastikerdar صابر جان فحش ناموسی خواستی بده اقا مشکلی نیست. اما حرفی از این جایگزین کردن گلیف های اعداد فارسی بجای لاتین نزن پیش من تو رو خدا. اقا خیانته خیانته خیانته این کار.

دقیقا کارهایی که میخوای انجام بشه رو ذکر کن تا ببنم تا کجاش رو میشه انجام داد. نگران هینتینگ نباش. قبل از ساپورت autohinting از عربی من دستی اینکار رو میکردم و الان هم نیازی به این ابزار نداشتم و ندارم. :)

@rastikerdar
Copy link
Owner

خب صالح جان حالا بر فرض این مشکل فونت فورج رو حل کنیم اساسا هر کی خواست بیلد کنه چند تا برنامه رو باید نصب کنه؟ اصلا ممکنه؟ منظورم اینه که فکر نکنم کسی حاضر باشه به غیر از همون روش ساده ای که عزیز اشاره کرد کار دیگه ای انجام بده.

راستی هینتینگ رو چجوری اعمال میکنی؟ من با فونت فورج زدم یه جاهاییش خیلی خوب میشد یه جاهایش بد. یعنی دیدم باید برای هر کدام از گلیف هایی که خراب میشه جدا چک کنم. اما این اتوهینتینگه همه رو یکنواخت انجام میده. هرچند اگر فونت فورج خودش همشو خوب انجام میداد به نظرم از اون اوتو هینتینگه هم بهتر میشد.

@geminorum
Copy link
Contributor

ضمن تشکرات ویژه، حداقل بیلد‌ها رو توی یه فولدری در ریپو بذارین، که بتونیم مستقیم با بوور، آخرین ورژن رو بیرون بکشیم. دانلود/اکسترکت/کپی دستی رویکرد مناسبی نیست.

رجیستر روی بوور هم به شدت راحته : http://bower.io/docs/creating-packages/#register

همچینین برای :

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

پیشنهاد میشود: rawgit.com

@rastikerdar
Copy link
Owner

توی این برنچ
gh-pages
همیشه آخرین نسخه موجود هست.
امکانش هست باور رو جوری تنظیم کرد از اونجا بگیره؟
یا اینکه یه فولدر توی همین شاخه مستر ایجاد کنم؟

@zoghal
Copy link

zoghal commented Apr 29, 2016

جهت اطلاع عزیز فونت نیکا رو اضافه کرده.
Homebrew/homebrew-cask-fonts#542
من سر در نمیارم داستان این چیه . اما خوب چون اضافه شده میتونه دلیلی باشه که سبک انتشار من مناسب برای این کارها هم بوده.

@aziz
Copy link
Contributor Author

aziz commented Apr 29, 2016

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

@rastikerdar
Copy link
Owner

% bower register samim-font git://github.com/rastikerdar/samim-font
bower resolve       git://github.com/rastikerdar/samim-font.git#*
bower download      https://github.com/rastikerdar/samim-font/archive/v0.10.3.tar.gz
bower extract       samim-font#* archive.tar.gz
bower resolved      git://github.com/rastikerdar/samim-font.git#0.10.3
? Registering a package will make it installable via the registry (https://bower.herokuapp.com), continue? Yes
bower register      git://github.com/rastikerdar/samim-font
bower EDUPLICATE    Duplicate package

من فایل ها رو اضافه کردم به همراه جی‌سان باور اما خروجی این شد:
اتفاقی نیفتاد!

@rastikerdar
Copy link
Owner

@geminorum
نمی دونم الان درست شده یا نه چون من با اسم
samim-font2
ثبت کردم حالا اجازه پاک کردن اونو نمی ده و البته با اسم اصلی هم که می خوام ثبت کنم میگه تکراریه!

به هر حال با این دستور میزنم ظاهرا بدون مشکل نصب می کنه.
$ bower install samim-font

یه پوشه به نام
dist
که شامل فایل ها هست.

@geminorum
Copy link
Contributor

@geminorum
Copy link
Contributor

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

@rastikerdar
Copy link
Owner

ممنونم از همگی 👍
این ترد چیزای خوبی یادم داد :)

@rastikerdar
Copy link
Owner

من یه مشکلی دارم دوستان
باوور برای ثبت، آخرین نسخه پایدار رو انتخاب می کنه و توجهی به آلفا و بتا و غیره نداره. وزیر یک دیگه توسعه پیدا نمی کنه از طرفی وزیر دو هنوز در مرحله پیش از انتشار پایدار هست.
چه کنم که باور بیخیال تگ های سری یک بشه. اونا رو پاک کنم؟

@aziz
Copy link
Contributor Author

aziz commented May 1, 2016

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

http://semver.org

@aziz
Copy link
Contributor Author

aziz commented May 1, 2016

به جای آلفا و بتا بهتره ورژن ماینور و پچ رو ارتقا بدی بر اساس سم ورژن که تو لینک بالا لینکشو دادم.
مثلا
۲.۰.۱
و بعد اگه تغییراتت در حد رفع باگ هست می شه
۲.۰.۲
ولی اگه تغییرات شامل اضافه شدن گلیف جدیده میشه
۲.۱.۰
و اگه کلا همه چیز رو تغییر دادی
۳.۰.۰

@rastikerdar
Copy link
Owner

بسیار خب میرم تو کار انتشار اصلی اگر چه آماده نیست ولی خب چیز مهمی هم نیست.
ممنون

@geminorum
Copy link
Contributor

geminorum commented May 2, 2016

همین حالا هم تگ ریپوی گیت صمیم، سم‌ور کامپتیبل هست.
الان نسخه صفرم، انتشار دهم، وصله چهارم:‌ v0.10.4
سم‌ور با این مشکلی نداره، و پکیج بوور و ان‌پی‌ام بدون اشکال ساخته میشه.
اگر به نظرتون آماده شد، نسخه رو ارتقاء بدین.

پ. ن. فکرکردم راجع به صمیمه، نه وزیر

@rastikerdar
Copy link
Owner

یک مشکلی که با
cdn.rawgit.com
وجود داره اینه که فایل ها در مرحله نخست برای همیشه کش میشن و با آپدیت نسخه جدید فایل های روی سی دی ان آپدیت نمیشن.
طبق این:
https://github.com/rgrove/rawgit/wiki/Frequently-Asked-Questions#whats-the-difference-between-rawgitcom-and-cdnrawgitcom-urls

فکر می کنم می کنم قضیه سی دی ان رو باید بیخیال شد! نمی دونم!

@aziz
Copy link
Contributor Author

aziz commented May 20, 2016

rawgit راه حل مناسبی نیست. سرعتش گاهی خیلی پاییه و کلا سی دی ان هم نیست. کلا یه هکه!

@geminorum
Copy link
Contributor

  • راو گیت، سی‌دی‌ان برای کار حرفه‌ای نیست. قرار هم نیست روی گیت‌هاپ هوستیگ حرفه‌ای رایگان ارائه بشه.
  • وقتی ورژن بالا میره،‌ سی‌دی‌ان نباید به صورت خودکار آپدیت بشه. برای مثال نگاهی به بوتسترپ بیاندازین، سی‌دی‌ان دقیقن برای یک ورژن ارائه شده و برای ارتقاء باید مارک‌آپ به صورت دستی (یا با تسک منیجر) در محصول نهایی تغییر کنه.
  • راهکار بهتر اینه که راوگیت به تگ لینک داده بشه، اینجا رو ببینید. برای ورژن فعلی صمیم:
<link href="https://cdn.rawgit.com/rastikerdar/samim-font/v0.11.0/dist/font-face.css" rel="stylesheet" type="text/css" />
@font-face {
    font-family: 'Samim';
    src: url('https://cdn.rawgit.com/rastikerdar/samim-font/v0.11.0/dist/Samim.eot');
    src: url('https://cdn.rawgit.com/rastikerdar/samim-font/v0.11.0/dist/Samim.eot?#iefix') format('embedded-opentype'),
         url('https://cdn.rawgit.com/rastikerdar/samim-font/v0.11.0/dist/Samim.woff') format('woff'),
         url('https://cdn.rawgit.com/rastikerdar/samim-font/v0.11.0/dist/Samim.ttf') format('truetype');
    font-weight: normal;
}
@font-face {
    font-family: 'Samim';
    src: url('https://cdn.rawgit.com/rastikerdar/samim-font/v0.11.0/dist/Samim-Bold.eot');
    src: url('https://cdn.rawgit.com/rastikerdar/samim-font/v0.11.0/dist/Samim-Bold.eot?#iefix') format('embedded-opentype'),
         url('https://cdn.rawgit.com/rastikerdar/samim-font/v0.11.0/dist/Samim-Bold.woff') format('woff'),
         url('https://cdn.rawgit.com/rastikerdar/samim-font/v0.11.0/dist/Samim-Bold.ttf') format('truetype');
    font-weight: bold;
}

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants