Committed by
David PHAM-VAN
Add an option to disable bidirectional support
Showing
5 changed files
with
9 additions
and
3 deletions
| @@ -6,6 +6,7 @@ | @@ -6,6 +6,7 @@ | ||
| 6 | - Add support for existing reference objects | 6 | - Add support for existing reference objects |
| 7 | - Update barcode golden pdf | 7 | - Update barcode golden pdf |
| 8 | - Add support for hyphenation [ilja] | 8 | - Add support for hyphenation [ilja] |
| 9 | +- Add an option to disable bidirectional support [Olzhas-Suleimen] | ||
| 9 | 10 | ||
| 10 | ## 3.10.7 | 11 | ## 3.10.7 |
| 11 | 12 |
| @@ -22,6 +22,7 @@ import 'dart:typed_data'; | @@ -22,6 +22,7 @@ import 'dart:typed_data'; | ||
| 22 | 22 | ||
| 23 | import 'package:meta/meta.dart'; | 23 | import 'package:meta/meta.dart'; |
| 24 | 24 | ||
| 25 | +import '../options.dart'; | ||
| 25 | import 'bidi_utils.dart' as bidi; | 26 | import 'bidi_utils.dart' as bidi; |
| 26 | import 'font_metrics.dart'; | 27 | import 'font_metrics.dart'; |
| 27 | 28 | ||
| @@ -323,7 +324,7 @@ class TtfParser { | @@ -323,7 +324,7 @@ class TtfParser { | ||
| 323 | /// Having both the unicode and the isolated form code | 324 | /// Having both the unicode and the isolated form code |
| 324 | /// point to the same glyph index because some fonts | 325 | /// point to the same glyph index because some fonts |
| 325 | /// do not have a glyph for the isolated form.\ | 326 | /// do not have a glyph for the isolated form.\ |
| 326 | - if (bidi.basicToIsolatedMappings.containsKey(c)) { | 327 | + if (useBidi && bidi.basicToIsolatedMappings.containsKey(c)) { |
| 327 | charToGlyphIndexMap[bidi.basicToIsolatedMappings[c]!] = glyphIndex; | 328 | charToGlyphIndexMap[bidi.basicToIsolatedMappings[c]!] = glyphIndex; |
| 328 | } | 329 | } |
| 329 | } | 330 | } |
| @@ -28,6 +28,7 @@ import '../format/name.dart'; | @@ -28,6 +28,7 @@ import '../format/name.dart'; | ||
| 28 | import '../format/num.dart'; | 28 | import '../format/num.dart'; |
| 29 | import '../format/stream.dart'; | 29 | import '../format/stream.dart'; |
| 30 | import '../format/string.dart'; | 30 | import '../format/string.dart'; |
| 31 | +import '../options.dart'; | ||
| 31 | import 'font.dart'; | 32 | import 'font.dart'; |
| 32 | import 'font_descriptor.dart'; | 33 | import 'font_descriptor.dart'; |
| 33 | import 'object.dart'; | 34 | import 'object.dart'; |
| @@ -78,7 +79,7 @@ class PdfTtfFont extends PdfFont { | @@ -78,7 +79,7 @@ class PdfTtfFont extends PdfFont { | ||
| 78 | return PdfFontMetrics.zero; | 79 | return PdfFontMetrics.zero; |
| 79 | } | 80 | } |
| 80 | 81 | ||
| 81 | - if (bidi.isArabicDiacriticValue(charCode)) { | 82 | + if (useBidi && bidi.isArabicDiacriticValue(charCode)) { |
| 82 | final metric = font.glyphInfoMap[g] ?? PdfFontMetrics.zero; | 83 | final metric = font.glyphInfoMap[g] ?? PdfFontMetrics.zero; |
| 83 | return metric.copyWith(advanceWidth: 0); | 84 | return metric.copyWith(advanceWidth: 0); |
| 84 | } | 85 | } |
pdf/lib/src/pdf/options.dart
0 → 100644
| @@ -20,6 +20,7 @@ import 'package:meta/meta.dart'; | @@ -20,6 +20,7 @@ import 'package:meta/meta.dart'; | ||
| 20 | 20 | ||
| 21 | import '../../pdf.dart'; | 21 | import '../../pdf.dart'; |
| 22 | import '../pdf/font/bidi_utils.dart' as bidi; | 22 | import '../pdf/font/bidi_utils.dart' as bidi; |
| 23 | +import '../pdf/options.dart'; | ||
| 23 | import 'annotations.dart'; | 24 | import 'annotations.dart'; |
| 24 | import 'basic.dart'; | 25 | import 'basic.dart'; |
| 25 | import 'document.dart'; | 26 | import 'document.dart'; |
| @@ -928,7 +929,7 @@ class RichText extends Widget with SpanningWidget { | @@ -928,7 +929,7 @@ class RichText extends Widget with SpanningWidget { | ||
| 928 | final space = | 929 | final space = |
| 929 | font.stringMetrics(' ') * (style.fontSize! * textScaleFactor); | 930 | font.stringMetrics(' ') * (style.fontSize! * textScaleFactor); |
| 930 | 931 | ||
| 931 | - final spanLines = (_textDirection == TextDirection.rtl | 932 | + final spanLines = (useBidi && _textDirection == TextDirection.rtl |
| 932 | ? bidi.logicalToVisual(span.text!) | 933 | ? bidi.logicalToVisual(span.text!) |
| 933 | : span.text)! | 934 | : span.text)! |
| 934 | .split('\n'); | 935 | .split('\n'); |
-
Please register or login to post a comment