| HB-SHAPE(1) | User Commands | HB-SHAPE(1) |
نام (NAME)
hb-shape - شکلدهی به متن با قلم دادهشده.
توضیحات (DESCRIPTION)
کاربرد:
- hb-shape [OPTION???] [FONT-FILE] [TEXT]
شکلدهی به متن با قلم دادهشده.
گزینههای راهنما:
- -h, --help
- نمایش گزینههای راهنما
- --help-all
- نمایش همه گزینههای راهنما
- --help-face
- گزینههای مربوط به چهره قلم (font face)
- --help-font
- گزینههای مربوط به نمونه قلم (font instance)
- --help-variations
- گزینههای مربوط به متغیرهای قلم (font variations) مورد استفاده
- --help-text
- گزینههای مربوط به متن ورودی
- --help-text-context
- گزینههای مربوط به متن زمینه ورودی (context text)
- --help-shape
- گزینههای مربوط به فرایند شکلدهی (shaping)
- --help-features
- گزینههای مربوط به ویژگیهای قلم (font features) مورد استفاده
- --help-output
- گزینههای مربوط به مقصد و ساختار خروجی
- --help-output-syntax
- گزینههای مربوط به نحو (syntax) خروجی
گزینههای چهره قلم (Font-face):
- --font-file=filename
- تنظیم نام فایل قلم
- -y, --face-index=index
- تنظیم نمایه (index) چهره قلم (پیشفرض: 0)
- --face-loader=loader
- تنظیم بارگذار چهره قلم برای استفاده (پیشفرض: ot)
- بارگذارهای چهره قلم پشتیبانیشده عبارتند از: ot/ft
- --list-face-loaders
- فهرست کردن بارگذارهای چهره قلم موجود و خروج
گزینههای نمونه قلم (Font-instance):
- --font-size=1/2 integers or 'upem'
- اندازه قلم (پیشفرض: upem)
- --font-ppem=1/2 integers
- تنظیم پیکسل بر EM در راستای x و y (پیشفرض: 0؛ غیرفعال)
- --font-ptem=point-size
- تنظیم اندازه قلم بر حسب پوینت (point-size) (پیشفرض: 0؛ غیرفعال)
- --font-bold=1/2 numbers; eg. 0.05
- تنظیم ضخیمسازی ساختگی (synthetic bold) (پیشفرض: 0)
- --font-grade=1/2 numbers; eg. 0.05
- تنظیم درجه ساختگی (synthetic grade) (پیشفرض: 0)
- --font-slant=slant ratio; eg. 0.2
- تنظیم شیب ساختگی (synthetic slant) (پیشفرض: 0)
- --font-funcs=impl
- تنظیم پیادهسازی توابع قلم جهت استفاده (پیشفرض: ot)
- پیادهسازیهای پشتیبانیشده توابع قلم عبارتند از: ot/ft
- --list-font-funcs
- فهرست کردن توابع قلم موجود و خروج
- --ft-load-flags=integer
- تنظیم load-flags مربوط به FreeType (پیشفرض: 2).SS "گزینههای دگرسانی (Variations options):"
- --named-instance=index
- تنظیم نمایهٔ named-instance (پیشفرض: none)
- --variations=list
- فهرست جداشده با کاما از دگرسانیهای قلم
- دگرسانیها بهصورت سراسری تنظیم میشوند. قالب تعیین تنظیمات دگرسانی در ادامه آمده است. تمام مقادیر معتبر font-variation-settings در CSS به جز 'normal' و 'inherited' نیز پذیرفته میشوند، اگرچه در ادامه مستند نشدهاند.
- قالب عبارت است از یک برچسب، که بهصورت اختیاری با یک علامت مساوی و سپس یک عدد دنبال میشود. برای نمونه:
- "wght=500" "slnt=-7.5"
گزینههای متن:
اگر هیچ متنی ارائه نشود، ورودی استاندارد (standard input) برای ورودی استفاده میشود.
- --text=string
- تنظیم متن ورودی
- --text-file=filename
- تنظیم نام فایل متن ورودی
- -u, --unicodes=list of hex numbers
- تنظیم کدپوینتهای یونیکد ورودی
- --single-par
- در نظر گرفتن متن بهعنوان یک پاراگراف واحد
گزینههای سیاق متنی (Textual context options):
- --text-before=string
- تنظیم سیاق متنی قبل از هر خط
- --text-after=string
- تنظیم سیاق متنی بعد از هر خط
- --unicodes-before=list of hex numbers
- تنظیم سیاق کدپوینتهای یونیکد قبل از هر خط
- --unicodes-after=list of hex numbers
- تنظیم سیاق کدپوینتهای یونیکد بعد از هر خط
گزینههای شکلدهی (Shape options):
- --shapers=comma-separated list
- تنظیم شکلدهندهها (shapers) برای استفاده (پیشفرض: graphite2,ot,fallback)
- شکلدهندههای پشتیبانیشده عبارتند از: graphite2/ot/fallback
- --list-shapers
- فهرست کردن شکلدهندههای موجود و خروج
- --direction=ltr/rtl/ttb/btt
- تنظیم جهت متن (پیشفرض: auto)
- --language=BCP 47 tag
- تنظیم زبان متن (پیشفرض: $LANG)
- --script=ISO-15924 tag
- تنظیم خط متن (پیشفرض: auto)
- --bot
- در نظر گرفتن متن بهعنوان آغاز پاراگراف (beginning-of-paragraph)
- --eot
- در نظر گرفتن متن بهعنوان پایان پاراگراف (end-of-paragraph)
- --preserve-default-ignorables
- حفظ نویسههای پیشفرض نادیدهگرفتنی (Default-Ignorable)
- --remove-default-ignorables
- حذف نویسههای پیشفرض نادیدهگرفتنی (Default-Ignorable)
- --invisible-glyph
- مقدار گلیف برای جایگزینی با نویسههای Default-Ignorables
- --not-found-glyph
- مقدار گلیف برای جایگزینی با نویسههای یافتنشده
- --not-found-variation-selector-glyph
- مقدار گلیف برای جایگزینی با نویسههای انتخابگر دگرسانی (variation-selector) یافتنشده
- --utf8-clusters
- استفاده از نمایههای بایتی UTF8 به جای نمایههای نویسهای
- --cluster-level=0/1/2/3
- سطح ادغام خوشهها (پیشفرض: 0)
- --normalize-glyphs
- بازآرایی خوشههای گلیف به ترتیب اسمی (nominal order)
- --unsafe-to-concat
- تولید پرچم گلیف unsafe-to-concat
- --safe-to-insert-tatweel
- تولید پرچم گلیف safe-to-insert-tatweel
- --glyphs
- تفسیر ورودی بهعنوان رشتهای از گلیفها
- --verify
- انجام بررسیهای صحتسنجی روی نتایج شکلدهی.SS "گزینههای ویژگیها:"
- --features=list
- فهرستی از ویژگیهای قلم که با کاما از هم جدا شدهاند
- ویژگیها را میتوان بهصورت سراسری یا محدود به بازههای مشخصی از نویسهها فعال یا غیرفعال کرد. قالب مشخص کردن تنظیمات ویژگی در ادامه آمده است. تمام مقادیر معتبر font-feature-settings در CSS بهجز 'normal' و مقادیر سراسری نیز پذیرفته میشوند، هرچند در ادامه مستند نشدهاند. نویسههای گریز (escape) در رشتههای CSS پشتیبانی نمیشوند. اندیسهای بازه به موقعیتهای بین نویسههای یونیکد اشاره دارند، مگر اینکه --utf8-clusters مشخص شده باشد که در این صورت اندیسهای بازه به اندیسهای بایت UTF-8 اشاره دارند. موقعیت پیش از اولین نویسه همیشه ۰ است.
- قالب این تنظیمات شبیه به پایتون است.
- نحوه کارکرد آن به این صورت است:
- Syntax:
- Value: Start: End:
- تنظیم مقدار:
- "kern"
- 1 0 ??? # فعالسازی ویژگی
- "+kern"
- 1 0 ??? # فعالسازی ویژگی
- "-kern"
- 0 0 ??? # غیرفعالسازی ویژگی
- "kern=0"
- 0 0 ??? # غیرفعالسازی ویژگی
- "kern=1"
- 1 0 ??? # فعالسازی ویژگی
- "aalt=2"
- 2 0 ??? # انتخاب دومین جایگزین
- تنظیم اندیس:
- "kern[]"
- 1 0 ??? # فعالسازی ویژگی
- "kern[:]"
- 1 0 ??? # فعالسازی ویژگی
- "kern[5:]"
- 1 5 ??? # فعالسازی ویژگی، جزئی
- "kern[:5]"
- 1 0 5 # فعالسازی ویژگی، جزئی
- "kern[3:5]"
- 1 3 5 # فعالسازی ویژگی، بازه
- "kern[3]"
- 1 3 3+1 # فعالسازی ویژگی، تکنویسه
- ترکیب همه موارد:
- "aalt[3:5]=2" 2
- 3 5 # فعالسازی دومین جایگزین برای بازه
گزینههای مقصد و قالب خروجی:
- -o, --output-file=filename
- تنظیم نام فایل خروجی (پیشفرض: stdout)
- -O, --output-format=format
- تنظیم قالب خروجی (پیشفرض: text)
- قالبهای خروجی پشتیبانیشده عبارتند از: text/json
نحو خروجی:
- text: [<glyph name or index>=<glyph cluster index within input>@<horizontal displacement>,<vertical displacement>+<horizontal advance>,<vertical advance>|...] json: [{"g": <glyph name or index>, "ax": <horizontal advance>, "ay": <vertical advance>, "dx": <horizontal displacement>, "dy": <vertical displacement>, "cl": <glyph cluster index within input>}, ...]
گزینههای نحو خروجی:
- --show-text
- افزودن متن ورودی متناظر به ابتدای هر خط خروجی
- --show-unicode
- افزودن نقطهکد(های) ورودی متناظر به ابتدای هر خط خروجی
- --show-line-num
- افزودن شماره خط ورودی متناظر به ابتدای هر خط خروجی
- -v, --verbose
- افزودن تمام موارد بالا به ابتدای هر خط خروجی
- --no-glyph-names
- چاپ اندیسهای گلیف بهجای نامها در خروجی
- --no-positions
- عدم نمایش موقعیتهای گلیف در خروجی
- --no-advances
- عدم نمایش پیشرویهای گلیف در خروجی
- --no-clusters
- عدم نمایش اندیسهای خوشه در خروجی
- --show-extents
- نمایش ابعاد گلیف (extents) در خروجی
- --show-flags
- نمایش پرچمهای گلیف در خروجی
- --ned
- بدون داده اضافی (No Extra Data)؛ عدم نمایش خوشهها یا پیشرویها در خروجی
- -V, --trace
- نمایش نتایج شکلدهی میانی در خروجی.SS "گزینههای برنامه (Application Options):"
- --version
- نمایش شمارههای نسخه
- -n, --num-iterations=N
- اجرای N تکرار (پیشفرض: ۱)
نتایج شکلدهی متن با یک قلم مشخصشده را در قالب متنی یا JSON نمایش میدهد.
کدهای خروج (EXIT CODES)
- 0: موفقیتآمیز.
- 1: تجزیهٔ گزینهها ناموفق بود.
- 2: بارگذاری چهرهٔ قلم (font face) با شکست مواجه شد.
- 3: عملیات با شکست مواجه شد.
- 4: تنظیم توابع قلم با شکست مواجه شد.
محیط (ENVIRONMENT)
- HB_FACE_LOADER=face-loader؛ بارگذار پیشفرض چهرهٔ قلم (face loader) را بازنویسی میکند.
- HB_FONT_FUNCS=font-funcs؛ توابع پیشفرض قلم (font-funcs) را بازنویسی میکند.
- HB_SHAPER_LIST=shaper-list؛ فهرست پیشفرض شکلدهندهها (shaper list) را بازنویسی میکند.
همچنین ببینید (SEE ALSO)
- hb-view(1), hb-shape(1), hb-raster(1), hb-vector(1), hb-subset(1), hb-info(1)
برای کسب اطلاعات بیشتر یا گزارش باگها به https://github.com/harfbuzz/harfbuzz مراجعه کنید.
| August 2026 | HarfBuzz 14.4.0 |