ParagraphStyle — کلیدی تصورات، خصوصیات اور استعمال

مصنف: IT Sectr اشاعت: 2026-07-25 مطالعے کا وقت: 10 منٹ

ParagraphStyle فارمیٹنگ پیرامیٹرز کا ایک مجموعہ ہے جو متن کے پیراگراف کی بصری شکل کا تعین کرتا ہے۔ موبائل ڈویلپمنٹ میں ParagraphStyle میں سیدھ بندی (left, center, right, justified)، سطر کا فاصلہ، پہلی سطر کا حاشیہ، پیراگراف کے درمیان فاصلہ اور متن کی سمت شامل ہے۔ Material Design Typography Guidelines (2025) کے مطابق، ایپلیکیشن کی تمام اسکرینوں پر ParagraphStyle کا مستقل استعمال یکساں ٹائپوگرافک تال کو یقینی بناتا ہے اور سیکشنز کے درمیان سوئچ کرتے وقت بصری شور کو کم کرتا ہے۔

اہم نکات

  • ParagraphStyle — پیراگراف فارمیٹنگ سیٹنگز آبجیکٹ: سیدھ بندی، حاشیہ، فاصلہ۔
  • پلیٹ فارمز — iOS: NSMutableParagraphStyle، Android: ParagraphStyle (Compose) / Layout (View)، Flutter: TextStyle۔
  • سیدھ بندی — مرکزی متن کے لیے left، عنوانات کے لیے center، کتابی فارمیٹ کے لیے justified۔
  • حاشیہ — firstLineHeadIndent (پہلی سطر کا حاشیہ)، paragraphSpacing (پیراگراف کے درمیان فاصلہ)۔
  • مقامی کاری — ParagraphStyle مختلف زبانوں کے لیے متن کی سمت (LTR/RTL) کو مدنظر رکھتا ہے۔

ٹائپوگرافی میں ParagraphStyle کیا ہے

ParagraphStyle (پیراگراف اسٹائل) فارمیٹنگ قواعد کا ایک مجموعہ ہے جو متن کے ایک یا زیادہ پیراگراف پر لاگو ہوتا ہے۔ حرف اسٹائل (bold, italic, font-size) کے برعکس جو انفرادی حروف کی سطح پر کام کرتے ہیں، ParagraphStyle میکرو خصوصیات کا انتظام کرتا ہے: کنٹینر میں متن کی جگہ کا تعین، سطور اور پیراگراف کے درمیان فاصلے، تحریر کی سمت اور ہائفنیشن قواعد۔

تاریخی طور پر، ParagraphStyle کا تصور ڈیسک ٹاپ پبلشنگ سسٹمز (QuarkXPress, PageMaker, InDesign) سے آیا ہے، جہاں ہر پیراگراف کے اپنے پیرامیٹرز کا سیٹ ہوتا تھا۔ موبائل ڈویلپمنٹ میں، یہ نقطہ نظر سافٹ ویئر API میں تبدیل ہو گیا ہے: iOS پر NSMutableParagraphStyle، Android میں ParagraphStyle اور LineBreakStyle کلاسز، اور Flutter میں textAlign اور textHeightBehavior جیسے پیرامیٹرز۔ یہ سب ایک مقصد پورا کرتے ہیں — کسی مخصوص ٹیکسٹ انجن سے منسلک ہوئے بغیر کوڈ کے ذریعے پیراگراف فارمیٹنگ کا انتظام کرنا۔

Bringhurst — The Elements of Typographic Style (2024) کے مطابق، ParagraphStyle کی مناسب ترتیب انٹرفیس ٹائپوگرافک ثقافت کی بنیاد ہے۔ اگر نوع اور فونٹ کا سائز متن کی «آواز» کی وضاحت کرتا ہے، تو پیراگراف اسٹائل اس کی «سانس» کی وضاحت کرتا ہے: تال، توقف اور لہجے۔ موبائل انٹرفیس میں جہاں جگہ محدود ہے، صحیح ParagraphStyle پڑھنے کی اہلیت کو کھوئے بغیر مزید معلومات کو شامل کرنے کی اجازت دیتا ہے۔

ParagraphStyle کی اہم خصوصیات

ParagraphStyle میں خصوصیات کے کئی گروپ شامل ہیں، ہر ایک فارمیٹنگ کے ایک مخصوص پہلو کے لیے ذمہ دار ہے۔ آئیے موبائل API میں دستیاب اہم پیرامیٹرز کو دیکھتے ہیں۔ سیدھ بندی اہم پیرامیٹر ہے جو متن کی افقی پوزیشن کا تعین کرتی ہے۔ iOS پر NSTextAlignment، Android پر Layout.Alignment، Flutter میں TextAlign دستیاب ہے۔

خصوصیتiOS (NSMutableParagraphStyle)Android (Compose)Flutter (TextStyle)
سیدھ بندیalignmenttextAligntextAlign
بایاں حاشیہheadIndenttextIndent (Compose میں)
دایاں حاشیہtailIndent
پہلی سطر کا حاشیہfirstLineHeadIndenttextIndent (firstLine)
پیراگراف کے درمیان فاصلہparagraphSpacingparagraphStyle (lineHeight)
پیراگراف سے پہلے فاصلہparagraphSpacingBefore
متن کی سمتbaseWritingDirectionTextDirection (Compose)textDirection
سطر توڑنے کا موڈlineBreakModeoverflow (TextStyle)overflow (TextStyle)

یہ سمجھنا ضروری ہے کہ تمام خصوصیات تمام پلیٹ فارمز پر یکساں طور پر دستیاب نہیں ہیں۔ مثال کے طور پر، پہلی سطر کا حاشیہ (firstLineHeadIndent) صرف iOS پر NSMutableParagraphStyle کے ذریعے مکمل طور پر سپورٹ کیا جاتا ہے۔ Android میں، اس مقصد کے لیے LeadingMarginSpan کے ساتھ SpannableString استعمال کیا جاتا ہے، اور Flutter میں — حسب ضرورت TextSpan اور padding کے ساتھ RichText۔ کراس پلیٹ فارم ڈویلپمنٹ (Flutter, React Native) میں، کچھ ParagraphStyle خصوصیات کو کنٹینرز یا Spacer کے ذریعے نقل کرنا پڑتا ہے۔

iOS میں ParagraphStyle: NSMutableParagraphStyle

iOS میں، پیراگراف اسٹائل کے ساتھ کام کرنے کا اہم ٹول NSMutableParagraphStyle کلاس ہے — NSParagraphStyle کا ذیلی طبقہ۔ یہ پیراگراف فارمیٹنگ کے انتظام کے لیے خصوصیات کا ایک مکمل سیٹ فراہم کرتا ہے اور NSAttributedString کے ذریعے لاگو کیا جاتا ہے۔ NSMutableParagraphStyle نہ صرف UILabel اور UITextView میں، بلکہ CTParagraphStyle کے ذریعے Core Text میں بھی استعمال ہوتا ہے۔

swift
// iOS: مکمل ParagraphStyle ترتیب
let paragraphStyle = NSMutableParagraphStyle()

// سیدھ بندی
paragraphStyle.alignment = .justified     // جسٹیفائیڈ

// حاشیہ
paragraphStyle.headIndent = 16          // بایاں حاشیہ
paragraphStyle.tailIndent = -16         // دایاں حاشیہ (منفی)
paragraphStyle.firstLineHeadIndent = 32 // پہلی سطر کا حاشیہ

// پیراگراف کا فاصلہ
paragraphStyle.paragraphSpacing = 12    // پیراگراف کے بعد
paragraphStyle.paragraphSpacingBefore = 8 // پیراگراف سے پہلے

// سطر کی اونچائی
paragraphStyle.minimumLineHeight = 24
paragraphStyle.maximumLineHeight = 24

let attributes: [NSAttributedString.Key: Any] = [
    .font: UIFont.systemFont(ofSize: 16),
    .paragraphStyle: paragraphStyle
]

let label = UILabel()
label.attributedText = NSAttributedString(
    string: "This paragraph has a custom ParagraphStyle.\n\nSecond paragraph with 12 pt spacing.",
    attributes: attributes
)

SwiftUI میں، NSMutableParagraphStyle کا کوئی براہ راست مترادف نہیں ہے — اس کے بجائے موڈیفائرز کا ایک مجموعہ استعمال کیا جاتا ہے: سیدھ بندی کے لیے .multilineTextAlignment()، سطر کے فاصلے کے لیے .lineSpacing()۔ SwiftUI میں پہلی سطر کے حاشیہ اور پیراگراف کے فاصلے کے لیے، Text + padding یا AttributedString (iOS 15+ سے دستیاب) استعمال کرنا پڑتا ہے، جو صفات کے ذریعے NSParagraphStyle کو سپورٹ کرتا ہے۔

swift
// SwiftUI: ParagraphStyle کے ساتھ AttributedString (iOS 15+)
var attributed: AttributedString = """
This is the first paragraph with indent.

This is the second paragraph with 12 pt spacing.
"""

let ps = NSMutableParagraphStyle()
ps.paragraphSpacing = 12
ps.firstLineHeadIndent = 20

let container = AttributeContainer()
    .paragraphStyle(ps)

attributed.mergeAttributes(container)

Text(attributed)
    .font(.body)

Apple — Text Programming Guide (2025) کے مطابق، NSMutableParagraphStyle 14 مختلف فارمیٹنگ پیرامیٹرز تک سپورٹ کرتا ہے۔ یہ یاد رکھنا ضروری ہے کہ tailIndent کنٹینر کی چوڑائی کے مقابلے میں منفی قدر کے طور پر سیٹ کیا جاتا ہے، جبکہ headIndent مثبت ہے۔ یہ غیر واضح رویہ اکثر نئے iOS ڈویلپرز میں غلطیوں کا سبب بنتا ہے۔

Android میں ParagraphStyle: View سسٹم اور Compose

Android میں، ParagraphStyle کے نقطہ نظر میں View سسٹم اور Jetpack Compose کے درمیان فرق ہے۔ کلاسک View سسٹم میں، پیراگراف پیرامیٹرز TextView کی XML خصوصیات (android:textAlignment, android:lineSpacingExtra) یا android.text.style پیکیج سے ParagraphStyle انٹرفیس کے نفاذ کے ساتھ SpannableString کے ذریعے سیٹ کیے جاتے ہیں۔

kotlin
// Android View سسٹم: SpannableString کے ذریعے ParagraphStyle
val text = "First paragraph with settings.\n\nSecond paragraph."
val spannable = SpannableString(text)

// جسٹیفائیڈ سیدھ بندی
spannable.setSpan(
    AlignmentSpan.Standard(Layout.Alignment.ALIGN_NORMAL),
    0, text.length,
    Spannable.SPAN_PARAGRAPH
)

// LeadingMarginSpan کے ذریعے پہلی سطر کا حاشیہ
spannable.setSpan(
    LeadingMarginSpan.Standard(0, 20),
    0, text.indexOf('\n'),
    Spannable.SPAN_EXCLUSIVE_EXCLUSIVE
)

textView.text = spannable

Jetpack Compose میں، ParagraphStyle TextStyle پیرامیٹرز کے ذریعے منظم کیا جاتا ہے۔ سیدھ بندی کے لیے textAlign، سطر کے فاصلے کے لیے lineHeight (sp یا em میں)، اور پہلی سطر کے حاشیہ کے لیے textIndent استعمال کیا جاتا ہے۔ Compose سطر توڑنے کے باریک کنٹرول کے لیے LineBreak (Simple, Heading, Paragraph) کو بھی سپورٹ کرتا ہے، جو خاص طور پر کثیر لسانی متن کے لیے مفید ہے۔

kotlin
// Jetpack Compose: TextStyle کے ذریعے ParagraphStyle
Text(
    text = "حسب ضرورت اسٹائل کے ساتھ پہلا پیراگراف۔

حاشیہ کے ساتھ دوسرا پیراگراف۔",
    style = TextStyle(
        textAlign = TextAlign.Justify,
        lineHeight = 24.sp,
        textIndent = TextIndent(firstLine = 16.sp),
        lineBreak = LineBreak.Paragraph
    )
)

Android Developers — Compose ParagraphStyle (2025) کے مطابق، Compose میں TextIndent استعمال کرتے وقت firstLine کو sp (dp میں نہیں) میں سیٹ کرنا ضروری ہے، کیونکہ پہلی سطر کا حاشیہ متن کے ساتھ پیمانہ ہونا چاہیے۔ اگر حاشیہ dp میں سیٹ کیا جاتا ہے، تو فونٹ سائز بڑھنے پر پہلی سطر کا حاشیہ بصری طور پر چھوٹا ہو جائے گا، جس سے ٹائپوگرافک تناسب خراب ہو جائے گا۔

Flutter میں ParagraphStyle: TextHeightBehavior اور StrutStyle

Flutter میں، ParagraphStyle پیراڈائم کو علیحدہ کلاس میں الگ نہیں کیا گیا ہے — اس کے بجائے TextStyle پیرامیٹرز اور اضافی کلاسز کا مجموعہ استعمال کیا جاتا ہے۔ سیدھ بندی TextAlign کے ذریعے، سطر کا فاصلہ height (بغیر اکائی) کے ذریعے سیٹ کیا جاتا ہے، اور TextHeightBehavior پہلی اور آخری سطر کے نظر آنے والے حاشیوں کو کنٹرول کرتا ہے۔

dart
// Flutter: Text پیرامیٹرز کے ذریعے ParagraphStyle
Text(
    'Flutter میں اسٹائل کردہ پیراگراف۔

حاشیوں کے ساتھ دوسرا پیراگراف۔',
    style: TextStyle(
        fontSize: 16,
        height: 1.5,
        leadingDistribution: TextLeadingDistribution.proportional,
    ),
    textAlign: TextAlign.justify,
    textHeightBehavior: TextHeightBehavior(
        applyHeightToFirstAscent: true,
        applyHeightToLastDescent: true,
    ),
)

زیادہ پیچیدہ منظرناموں کے لیے، Flutter حسب ضرورت TextSpan اور WidgetSpan کے ساتھ RichText کا استعمال پیش کرتا ہے۔ یہ یکساں فارمیٹنگ قواعد کو برقرار رکھتے ہوئے، ایک ہی پیراگراف میں متن کو ان لائن ویجٹس (آئیکنز، تصاویر) کے ساتھ جوڑنے کی اجازت دیتا ہے۔ تاہم، اس نقطہ نظر کے لیے سطر توڑنے کے دستی کنٹرول کی ضرورت ہوتی ہے اور یہ خودکار ہائفنیشن کو سپورٹ نہیں کرتا۔

dart
// Flutter: حسب ضرورت پیراگراف فارمیٹنگ کے ساتھ RichText
RichText(
    text: TextSpan(
        style: TextStyle(fontSize: 16, height: 1.5),
        children: [
            TextSpan(text: 'First paragraph with icon '),
            WidgetSpan(
                child: Icon(Icons.star, size: 16),
                alignment: PlaceholderAlignment.middle,
            ),
            TextSpan(text: '\n\nSecond paragraph after spacing.'),
        ],
    ),
)

Flutter Documentation — Text Widget (2025) کے مطابق، TextHeightBehavior Flutter میں ParagraphStyle کی درست نمائش کے لیے ایک اہم پیرامیٹر ہے۔ اگر applyHeightToFirstAscent کو false پر سیٹ کیا جاتا ہے، تو پہلی سطر کا اوپری حاشیہ نظر انداز کر دیا جاتا ہے اور متن کنٹینر کے اوپری کنارے سے «چپک» جاتا ہے۔ یہ عنوانات کے لیے مفید ہے، لیکن مرکزی متن کے لیے ناپسندیدہ ہے۔

ParagraphStyle اور مقامی کاری: LTR/RTL اور علاقائی خصوصیات

ParagraphStyle کو ہر مقامی زبان کے لیے تحریر کی سمت کو مدنظر رکھنا چاہیے۔ عربی، عبرانی یا اردو (دائیں سے بائیں تحریر، RTL) کی حمایت کرنے والی موبائل ایپس میں، حاشیہ اور سیدھ بندی کو آئینے کی طرح تبدیل ہونا چاہیے۔ iOS baseWritingDirection = .natural کے ذریعے خودکار سوئچنگ کو سپورٹ کرتا ہے، Android TextDirection کے ذریعے، Flutter textDirection کے ذریعے۔

RTL مقامی زبانوں کے لیے سیدھ بندی کی ترتیب خصوصی توجہ کی ضرورت ہے۔ اگر LTR موڈ میں headIndent بائیں حاشیہ سیٹ کرتا ہے، تو RTL میں یہ خود بخود دائیں حاشیہ بن جاتا ہے۔ تاہم، تمام نفاذ سیدھ بندی کی واضح طور پر وضاحت کرنے پر (NSTextAlignment.natural کے بجائے NSTextAlignment.left) اس منتقلی کو درست طریقے سے سنبھال نہیں پاتے۔ Google Internationalization Guide (2025) کے مطابق، کثیر لسانی ایپس کے لیے ہمیشہ قدرتی سیدھ بندی استعمال کریں اور دونوں لے آؤٹ میں حاشیوں کی جانچ کریں۔

kotlin
// Android: ParagraphStyle میں RTL سپورٹ
val textView = TextView(context)

// خودکار RTL سپورٹ فعال کریں
textView.textDirection = View.TEXT_DIRECTION_LOCALE
textView.textAlignment = View.TEXT_ALIGNMENT_TEXT_START

// RTL سپورٹ کے ساتھ Spannable
val spannable = SpannableString(arabicText)
spannable.setSpan(
    AlignmentSpan.Standard(Layout.Alignment.ALIGN_NORMAL),
    0, arabicText.length,
    Spannable.SPAN_PARAGRAPH
)

علاقائی خصوصیات میں پہلی سطر کے حاشیہ کے لیے مختلف قواعد بھی شامل ہیں۔ یورپی ٹائپوگرافی میں، پہلی سطر کا حاشیہ (firstLineHeadIndent) پیراگراف کی علیحدگی کے لیے ایک معیار ہے۔ جاپانی اور چینی ٹائپوگرافی میں بھی پہلی سطر کا حاشیہ استعمال ہوتا ہے، لیکن اس کا سائز مختلف ہو سکتا ہے (عام طور پر یورپی روایت میں 1.5 em کے مقابلے میں 1 em)۔ عربی ٹائپوگرافی کے لیے، پہلی سطر کا حاشیہ نایاب ہے — پیراگراف زیادہ تر عمودی فاصلے سے الگ کیے جاتے ہیں۔

ParagraphStyle کے ساتھ کام کرتے وقت عام غلطیاں

سب سے عام غلطی انفرادی پیراگراف کی مختلف فارمیٹنگ پر غور کیے بغیر صرف ٹیکسٹ فیلڈ کی عالمی خصوصیات کے ذریعے ParagraphStyle کا استعمال کرنا ہے۔ سے الگ کیے گئے متعدد پیراگراف والے UILabel یا TextView میں، ParagraphStyle پورے متن پر یکساں طور پر لاگو ہوتا ہے، جب تک کہ ہر پیراگراف کے لیے مختلف اسٹائلز کے ساتھ منسوب متن استعمال نہ کیا جائے۔

  • paragraphSpacingBefore کو نظر انداز کرنا — بہت سے ڈویلپر paragraphSpacing سیٹ کرتے ہیں لیکن paragraphSpacingBefore کو بھول جاتے ہیں۔ بلاک میں پہلے پیراگراف کے لیے، paragraphSpacingBefore اضافی کنٹینر بنائے بغیر اوپری مارجن سیٹ کرنے کی اجازت دیتا ہے۔ یہ خاص طور پر عنوانات والی فہرستوں کے لیے مفید ہے۔
  • قدرتی کے بجائے ہارڈ کوڈڈ سیدھ بندی (left/right) — اگر ایپ RTL مقامی زبانوں کو سپورٹ کرتی ہے، تو natural کے بجائے NSTextAlignment.left یا TextAlign.Start استعمال کرنا عربی اور عبرانی مقامی زبانوں میں غلط نمائش کا باعث بنتا ہے۔
  • سطر توڑنے کے موڈ کی جانچ کا فقدان — تنگ کنٹینرز (فہرستیں، سائڈبار) میں، غلط lineBreakMode الفاظ کے کاٹنے کا باعث بنتا ہے۔ byWordWrapping استعمال کریں اور مخصوص مقامی زبان کے سیاق و سباق میں لمبے الفاظ کی جانچ کریں۔
  • مختلف ParagraphStyle کے ساتھ Spannable کو ملانا — SPAN_PARAGRAPH کے ساتھ Spannable سیٹ کرتے وقت، پیراگراف کی حدود کا درست حساب لگانا ضروری ہے۔ اصل پیراگراف کی حدود کے ساتھ شروع/اختتامی پوزیشنوں کا بےمیل ہونا اسٹائل کو نظر انداز کرنے کا سبب بنتا ہے۔
  • بھولی ہوئی بیس لائن سیدھ بندی — مقررہ lineHeight (minimumLineHeight) کے ساتھ ParagraphStyle استعمال کرتے وقت، یقینی بنائیں کہ بیس لائن متن کی سیدھ بندی فعال ہے۔ iOS میں، اس کے لیے label.baselineAdjustment = .alignBaselines استعمال کیا جاتا ہے۔

UX Collective — Common Typography Bugs in Mobile Apps (2025) کے مطابق، ParagraphStyle کے مسائل موبائل ایپلیکیشنز میں تمام ٹائپوگرافک بگز کا 18% بنتے ہیں۔ سب سے اہم صورتیں وہ ہیں جب غلط paragraphSpacing مختلف سطور پر متن کے اوورلیپ کا باعث بنتا ہے یا جب RTL مقامی زبانیں LTR حاشیوں کے ساتھ ظاہر ہوتی ہیں۔ مختلف زبانوں میں ٹیسٹ سٹرنگز کے ساتھ ہر ParagraphStyle پیرامیٹر کے لیے یونٹ ٹیسٹ بنانے کی سفارش کی جاتی ہے۔

اکثر پوچھے گئے سوالات

iOS میں ParagraphStyle اور TextStyle میں کیا فرق ہے؟

NSMutableParagraphStyle پیراگراف فارمیٹنگ (سیدھ بندی، حاشیہ، سطر کا فاصلہ) کا انتظام کرتا ہے، جبکہ TextStyle حرفی خصوصیات (فونٹ، رنگ، سائز) کا انتظام کرتا ہے۔ دونوں NSAttributedString کے ذریعے لاگو کیے جاتے ہیں۔ ParagraphStyle پیراگراف کی سطح پر کام کرتا ہے، TextStyle حرف کی سطح پر۔ ایک پیراگراف میں TextStyle کی متعدد مثالیں ہو سکتی ہیں، لیکن فی پیراگراف صرف ایک ParagraphStyle۔

Jetpack Compose میں پہلی سطر کا حاشیہ کیسے سیٹ کریں؟

Jetpack Compose میں، پہلی سطر کا حاشیہ TextStyle کے اندر TextIndent کے ذریعے سیٹ کیا جاتا ہے: TextStyle(textIndent = TextIndent(firstLine = 16.sp))۔ قدر sp میں ہونی چاہیے تاکہ یہ متن کے ساتھ پیمانہ ہو۔ کثیر السطور متن کے لیے، حاشیہ ہر اس سطر پر لاگو ہوتا ہے جو نیا پیراگراف ( کریکٹر) شروع کرتی ہے۔ پہلے پیراگراف کے لیے، حاشیہ ہمیشہ لاگو ہوتا ہے۔

SwiftUI میں پیراگراف کے درمیان فاصلہ کیسے ترتیب دیں؟

SwiftUI میں، paragraphSpacing کا کوئی براہ راست مترادف نہیں ہے۔ پیراگراف کے درمیان فاصلے کے لیے، NSMutableParagraphStyle اور paragraphSpacing خاصیت کے ساتھ AttributedString (iOS 15+) استعمال کریں۔ یا Text("...\n\n...") کے ذریعے پیراگراف کو الگ کریں اور ٹیکسٹ بلاکس کے درمیان .padding() شامل کریں۔ پیچیدہ ٹائپوگرافک منظرناموں کے لیے، UILabelRepresentable کے ذریعے NSAttributedString استعمال کریں۔

Android TextView میں paragraphSpacing کیوں کام نہیں کرتا؟

Android میں TextView میں paragraphSpacing کی خاصیت نہیں ہے — یہ LeadingMarginSpan کے ساتھ SpannableString یا حسب ضرورت LineBackgroundSpan کے ذریعے سیٹ کیا جاتا ہے۔ سطر کے فاصلے کے لیے setLineSpacing استعمال کریں؛ پیراگراف کے درمیان فاصلے کے لیے، پیراگراف کو اضافی سے الگ کریں یا متعدد TextView مثالوں کا مشترکہ کنٹینر استعمال کریں۔

ParagraphStyle موبائل ایپ کی رسائی کو کیسے متاثر کرتا ہے؟

مناسب ParagraphStyle رسائی کو بہتر بناتا ہے: کافی paragraphSpacing علمی معذوری والے صارفین کو پیراگراف کی حدود کو بہتر طریقے سے پہچاننے میں مدد کرتا ہے۔ WCAG 2.2 پیراگراف کی بصری علیحدگی (حاشیہ یا فاصلہ) تجویز کرتا ہے۔ ParagraphSpacing 1.5 × line-height سے کم نہیں ہونا چاہیے۔ RTL مقامی زبانوں کے لیے، تصدیق کریں کہ حاشیہ صحیح طریقے سے منعکس ہو رہا ہے۔

خلاصہ

  • ParagraphStyle — پیراگراف فارمیٹنگ قواعد کا مجموعہ: سیدھ بندی، حاشیہ، سطر اور پیراگراف کا فاصلہ۔
  • iOS — 14+ پیرامیٹرز کے ساتھ NSMutableParagraphStyle، NSAttributedString کے ذریعے لاگو؛ SwiftUI میں — AttributedString (iOS 15+)۔
  • Android View — ParagraphStyle کے نفاذ (AlignmentSpan, LeadingMarginSpan) کے ساتھ SpannableString۔
  • Android Compose — TextStyle.textAlign، lineHeight، textIndent اور سطر توڑنے کے کنٹرول کے لیے LineBreak۔
  • Flutter — سطر کی اونچائی مقرر کرنے کے لیے TextStyle.height، TextAlign، TextHeightBehavior اور StrutStyle کا مجموعہ۔
  • مقامی کاری — RTL مقامی زبانوں کی حمایت کے لیے قدرتی سیدھ بندی استعمال کریں؛ دونوں لے آؤٹ میں حاشیوں کی جانچ کریں۔
  • عام غلطیاں — قدرتی کے بجائے ہارڈ کوڈڈ سیدھ بندی، paragraphSpacingBefore کو نظر انداز کرنا، تنگ کنٹینرز کے لیے غلط lineBreakMode۔

ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے

IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔

پروجیکٹ پر بحث کریں

مزید پڑھیں