react-native-enriched-markdown-scaffold 0.7.4-scaffold.6 → 0.7.4-scaffold.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/Props.h +48 -0
  2. package/android/src/main/java/com/swmansion/enriched/markdown/MeasurementStore.kt +4 -3
  3. package/android/src/main/java/com/swmansion/enriched/markdown/input/model/MathChipStyle.kt +3 -0
  4. package/android/src/main/java/com/swmansion/enriched/markdown/styles/InlineMathStyle.kt +5 -1
  5. package/android/src/main/java/com/swmansion/enriched/markdown/styles/MathFontWeight.kt +25 -0
  6. package/android/src/main/java/com/swmansion/enriched/markdown/styles/MathStyle.kt +12 -1
  7. package/android/src/main/java/com/swmansion/enriched/markdown/utils/input/MarkdownStyleParser.kt +10 -0
  8. package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/extensions/SpannableExtensions.kt +12 -4
  9. package/android/src/main/java/com/swmansion/enriched/markdown/views/TableContainerView.kt +1 -1
  10. package/android/src/math/java/com/swmansion/enriched/markdown/renderer/MathInlineRenderer.kt +2 -0
  11. package/android/src/math/java/com/swmansion/enriched/markdown/spans/MathChipSpan.kt +1 -1
  12. package/android/src/math/java/com/swmansion/enriched/markdown/spans/MathInlinePlaceholderSpan.kt +7 -3
  13. package/android/src/math/java/com/swmansion/enriched/markdown/spans/MathInlineSpan.kt +8 -5
  14. package/android/src/math/java/com/swmansion/enriched/markdown/spans/MathTypeface.kt +30 -0
  15. package/android/src/math/java/com/swmansion/enriched/markdown/views/MathContainerView.kt +3 -1
  16. package/docs/INPUT.md +4 -0
  17. package/docs/LATEX_MATH.md +62 -0
  18. package/docs/STYLES.md +3 -0
  19. package/ios/attachments/ENRMMathInlineAttachment+macOS.m +5 -1
  20. package/ios/attachments/ENRMMathInlineAttachment.h +3 -0
  21. package/ios/attachments/ENRMMathInlineAttachment.m +2 -1
  22. package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/Props.h +48 -0
  23. package/ios/input/ENRMInputFormatter.h +4 -0
  24. package/ios/input/ENRMInputFormatter.mm +2 -0
  25. package/ios/input/EnrichedMarkdownTextInput.mm +3 -0
  26. package/ios/input/InputStylePropsUtils.h +13 -0
  27. package/ios/internals/MeasurementCache.h +1 -0
  28. package/ios/math/ENRMRaTeXBridge.swift +52 -3
  29. package/ios/renderer/ENRMMathInlineRenderer.m +3 -0
  30. package/ios/styles/StyleConfig.h +6 -0
  31. package/ios/styles/StyleConfig.mm +36 -0
  32. package/ios/utils/ENRMMathFontWeight.h +18 -0
  33. package/ios/utils/StylePropsUtils.h +21 -0
  34. package/ios/views/ENRMMathContainerView.m +3 -1
  35. package/lib/module/EnrichedMarkdownNativeComponent.ts +3 -0
  36. package/lib/module/EnrichedMarkdownTextInput.js.map +1 -1
  37. package/lib/module/EnrichedMarkdownTextInputNativeComponent.ts +1 -0
  38. package/lib/module/EnrichedMarkdownTextNativeComponent.ts +3 -0
  39. package/lib/module/normalizeMarkdownStyle.js +5 -2
  40. package/lib/module/normalizeMarkdownStyle.js.map +1 -1
  41. package/lib/module/normalizeMarkdownStyle.web.js +5 -2
  42. package/lib/module/normalizeMarkdownStyle.web.js.map +1 -1
  43. package/lib/module/normalizeMarkdownTextInputStyle.js +7 -3
  44. package/lib/module/normalizeMarkdownTextInputStyle.js.map +1 -1
  45. package/lib/module/web/globalStyles.js +8 -1
  46. package/lib/module/web/globalStyles.js.map +1 -1
  47. package/lib/module/web/styles.js +3 -1
  48. package/lib/module/web/styles.js.map +1 -1
  49. package/lib/typescript/src/EnrichedMarkdownNativeComponent.d.ts +3 -0
  50. package/lib/typescript/src/EnrichedMarkdownNativeComponent.d.ts.map +1 -1
  51. package/lib/typescript/src/EnrichedMarkdownTextInput.d.ts +1 -0
  52. package/lib/typescript/src/EnrichedMarkdownTextInput.d.ts.map +1 -1
  53. package/lib/typescript/src/EnrichedMarkdownTextInputNativeComponent.d.ts +1 -0
  54. package/lib/typescript/src/EnrichedMarkdownTextInputNativeComponent.d.ts.map +1 -1
  55. package/lib/typescript/src/EnrichedMarkdownTextNativeComponent.d.ts +3 -0
  56. package/lib/typescript/src/EnrichedMarkdownTextNativeComponent.d.ts.map +1 -1
  57. package/lib/typescript/src/normalizeMarkdownStyle.d.ts.map +1 -1
  58. package/lib/typescript/src/normalizeMarkdownStyle.web.d.ts.map +1 -1
  59. package/lib/typescript/src/normalizeMarkdownTextInputStyle.d.ts +1 -0
  60. package/lib/typescript/src/normalizeMarkdownTextInputStyle.d.ts.map +1 -1
  61. package/lib/typescript/src/types/MarkdownStyle.d.ts +32 -0
  62. package/lib/typescript/src/types/MarkdownStyle.d.ts.map +1 -1
  63. package/lib/typescript/src/types/MarkdownStyleInternal.d.ts +3 -0
  64. package/lib/typescript/src/types/MarkdownStyleInternal.d.ts.map +1 -1
  65. package/lib/typescript/src/web/styles.d.ts.map +1 -1
  66. package/package.json +1 -1
  67. package/src/EnrichedMarkdownNativeComponent.ts +3 -0
  68. package/src/EnrichedMarkdownTextInput.tsx +1 -0
  69. package/src/EnrichedMarkdownTextInputNativeComponent.ts +1 -0
  70. package/src/EnrichedMarkdownTextNativeComponent.ts +3 -0
  71. package/src/normalizeMarkdownStyle.ts +6 -1
  72. package/src/normalizeMarkdownStyle.web.ts +6 -1
  73. package/src/normalizeMarkdownTextInputStyle.ts +5 -0
  74. package/src/types/MarkdownStyle.ts +32 -0
  75. package/src/types/MarkdownStyleInternal.ts +3 -0
  76. package/src/web/globalStyles.ts +7 -0
  77. package/src/web/styles.ts +5 -1
@@ -1534,6 +1534,7 @@ struct EnrichedMarkdownMarkdownStyleMathStruct {
1534
1534
  Float marginTop{0.0};
1535
1535
  Float marginBottom{0.0};
1536
1536
  std::string textAlign{};
1537
+ std::string fontWeight{};
1537
1538
 
1538
1539
 
1539
1540
  #ifdef RN_SERIALIZABLE_STATE
@@ -1548,6 +1549,7 @@ struct EnrichedMarkdownMarkdownStyleMathStruct {
1548
1549
  result["marginTop"] = marginTop;
1549
1550
  result["marginBottom"] = marginBottom;
1550
1551
  result["textAlign"] = textAlign;
1552
+ result["fontWeight"] = fontWeight;
1551
1553
  return result;
1552
1554
  }
1553
1555
  #endif
@@ -1584,6 +1586,10 @@ static inline void fromRawValue(const PropsParserContext& context, const RawValu
1584
1586
  if (tmp_textAlign != map.end()) {
1585
1587
  fromRawValue(context, tmp_textAlign->second, result.textAlign);
1586
1588
  }
1589
+ auto tmp_fontWeight = map.find("fontWeight");
1590
+ if (tmp_fontWeight != map.end()) {
1591
+ fromRawValue(context, tmp_fontWeight->second, result.fontWeight);
1592
+ }
1587
1593
  }
1588
1594
 
1589
1595
  static inline std::string toString(const EnrichedMarkdownMarkdownStyleMathStruct &value) {
@@ -1598,6 +1604,8 @@ static inline folly::dynamic toDynamic(const EnrichedMarkdownMarkdownStyleMathSt
1598
1604
 
1599
1605
  struct EnrichedMarkdownMarkdownStyleInlineMathStruct {
1600
1606
  SharedColor color{};
1607
+ Float paddingVertical{0.0};
1608
+ std::string fontWeight{};
1601
1609
 
1602
1610
 
1603
1611
  #ifdef RN_SERIALIZABLE_STATE
@@ -1606,6 +1614,8 @@ struct EnrichedMarkdownMarkdownStyleInlineMathStruct {
1606
1614
  folly::dynamic toDynamic() const {
1607
1615
  folly::dynamic result = folly::dynamic::object();
1608
1616
  result["color"] = ::facebook::react::toDynamic(color);
1617
+ result["paddingVertical"] = paddingVertical;
1618
+ result["fontWeight"] = fontWeight;
1609
1619
  return result;
1610
1620
  }
1611
1621
  #endif
@@ -1618,6 +1628,14 @@ static inline void fromRawValue(const PropsParserContext& context, const RawValu
1618
1628
  if (tmp_color != map.end()) {
1619
1629
  fromRawValue(context, tmp_color->second, result.color);
1620
1630
  }
1631
+ auto tmp_paddingVertical = map.find("paddingVertical");
1632
+ if (tmp_paddingVertical != map.end()) {
1633
+ fromRawValue(context, tmp_paddingVertical->second, result.paddingVertical);
1634
+ }
1635
+ auto tmp_fontWeight = map.find("fontWeight");
1636
+ if (tmp_fontWeight != map.end()) {
1637
+ fromRawValue(context, tmp_fontWeight->second, result.fontWeight);
1638
+ }
1621
1639
  }
1622
1640
 
1623
1641
  static inline std::string toString(const EnrichedMarkdownMarkdownStyleInlineMathStruct &value) {
@@ -2804,6 +2822,7 @@ struct EnrichedMarkdownTextInputMarkdownStyleMathStruct {
2804
2822
  Float paddingVertical{0.0};
2805
2823
  SharedColor selectedBackgroundColor{};
2806
2824
  SharedColor selectedBorderColor{};
2825
+ std::string fontWeight{};
2807
2826
 
2808
2827
 
2809
2828
  #ifdef RN_SERIALIZABLE_STATE
@@ -2821,6 +2840,7 @@ struct EnrichedMarkdownTextInputMarkdownStyleMathStruct {
2821
2840
  result["paddingVertical"] = paddingVertical;
2822
2841
  result["selectedBackgroundColor"] = ::facebook::react::toDynamic(selectedBackgroundColor);
2823
2842
  result["selectedBorderColor"] = ::facebook::react::toDynamic(selectedBorderColor);
2843
+ result["fontWeight"] = fontWeight;
2824
2844
  return result;
2825
2845
  }
2826
2846
  #endif
@@ -2869,6 +2889,10 @@ static inline void fromRawValue(const PropsParserContext& context, const RawValu
2869
2889
  if (tmp_selectedBorderColor != map.end()) {
2870
2890
  fromRawValue(context, tmp_selectedBorderColor->second, result.selectedBorderColor);
2871
2891
  }
2892
+ auto tmp_fontWeight = map.find("fontWeight");
2893
+ if (tmp_fontWeight != map.end()) {
2894
+ fromRawValue(context, tmp_fontWeight->second, result.fontWeight);
2895
+ }
2872
2896
  }
2873
2897
 
2874
2898
  static inline std::string toString(const EnrichedMarkdownTextInputMarkdownStyleMathStruct &value) {
@@ -2892,6 +2916,7 @@ struct EnrichedMarkdownTextInputMarkdownStyleMathBlockStruct {
2892
2916
  Float paddingVertical{0.0};
2893
2917
  SharedColor selectedBackgroundColor{};
2894
2918
  SharedColor selectedBorderColor{};
2919
+ std::string fontWeight{};
2895
2920
  Float marginTop{0.0};
2896
2921
  Float marginBottom{0.0};
2897
2922
  std::string alignment{};
@@ -2912,6 +2937,7 @@ struct EnrichedMarkdownTextInputMarkdownStyleMathBlockStruct {
2912
2937
  result["paddingVertical"] = paddingVertical;
2913
2938
  result["selectedBackgroundColor"] = ::facebook::react::toDynamic(selectedBackgroundColor);
2914
2939
  result["selectedBorderColor"] = ::facebook::react::toDynamic(selectedBorderColor);
2940
+ result["fontWeight"] = fontWeight;
2915
2941
  result["marginTop"] = marginTop;
2916
2942
  result["marginBottom"] = marginBottom;
2917
2943
  result["alignment"] = alignment;
@@ -2963,6 +2989,10 @@ static inline void fromRawValue(const PropsParserContext& context, const RawValu
2963
2989
  if (tmp_selectedBorderColor != map.end()) {
2964
2990
  fromRawValue(context, tmp_selectedBorderColor->second, result.selectedBorderColor);
2965
2991
  }
2992
+ auto tmp_fontWeight = map.find("fontWeight");
2993
+ if (tmp_fontWeight != map.end()) {
2994
+ fromRawValue(context, tmp_fontWeight->second, result.fontWeight);
2995
+ }
2966
2996
  auto tmp_marginTop = map.find("marginTop");
2967
2997
  if (tmp_marginTop != map.end()) {
2968
2998
  fromRawValue(context, tmp_marginTop->second, result.marginTop);
@@ -4872,6 +4902,7 @@ struct EnrichedMarkdownTextMarkdownStyleMathStruct {
4872
4902
  Float marginTop{0.0};
4873
4903
  Float marginBottom{0.0};
4874
4904
  std::string textAlign{};
4905
+ std::string fontWeight{};
4875
4906
 
4876
4907
 
4877
4908
  #ifdef RN_SERIALIZABLE_STATE
@@ -4886,6 +4917,7 @@ struct EnrichedMarkdownTextMarkdownStyleMathStruct {
4886
4917
  result["marginTop"] = marginTop;
4887
4918
  result["marginBottom"] = marginBottom;
4888
4919
  result["textAlign"] = textAlign;
4920
+ result["fontWeight"] = fontWeight;
4889
4921
  return result;
4890
4922
  }
4891
4923
  #endif
@@ -4922,6 +4954,10 @@ static inline void fromRawValue(const PropsParserContext& context, const RawValu
4922
4954
  if (tmp_textAlign != map.end()) {
4923
4955
  fromRawValue(context, tmp_textAlign->second, result.textAlign);
4924
4956
  }
4957
+ auto tmp_fontWeight = map.find("fontWeight");
4958
+ if (tmp_fontWeight != map.end()) {
4959
+ fromRawValue(context, tmp_fontWeight->second, result.fontWeight);
4960
+ }
4925
4961
  }
4926
4962
 
4927
4963
  static inline std::string toString(const EnrichedMarkdownTextMarkdownStyleMathStruct &value) {
@@ -4936,6 +4972,8 @@ static inline folly::dynamic toDynamic(const EnrichedMarkdownTextMarkdownStyleMa
4936
4972
 
4937
4973
  struct EnrichedMarkdownTextMarkdownStyleInlineMathStruct {
4938
4974
  SharedColor color{};
4975
+ Float paddingVertical{0.0};
4976
+ std::string fontWeight{};
4939
4977
 
4940
4978
 
4941
4979
  #ifdef RN_SERIALIZABLE_STATE
@@ -4944,6 +4982,8 @@ struct EnrichedMarkdownTextMarkdownStyleInlineMathStruct {
4944
4982
  folly::dynamic toDynamic() const {
4945
4983
  folly::dynamic result = folly::dynamic::object();
4946
4984
  result["color"] = ::facebook::react::toDynamic(color);
4985
+ result["paddingVertical"] = paddingVertical;
4986
+ result["fontWeight"] = fontWeight;
4947
4987
  return result;
4948
4988
  }
4949
4989
  #endif
@@ -4956,6 +4996,14 @@ static inline void fromRawValue(const PropsParserContext& context, const RawValu
4956
4996
  if (tmp_color != map.end()) {
4957
4997
  fromRawValue(context, tmp_color->second, result.color);
4958
4998
  }
4999
+ auto tmp_paddingVertical = map.find("paddingVertical");
5000
+ if (tmp_paddingVertical != map.end()) {
5001
+ fromRawValue(context, tmp_paddingVertical->second, result.paddingVertical);
5002
+ }
5003
+ auto tmp_fontWeight = map.find("fontWeight");
5004
+ if (tmp_fontWeight != map.end()) {
5005
+ fromRawValue(context, tmp_fontWeight->second, result.fontWeight);
5006
+ }
4959
5007
  }
4960
5008
 
4961
5009
  static inline std::string toString(const EnrichedMarkdownTextMarkdownStyleInlineMathStruct &value) {
@@ -50,6 +50,8 @@ NS_ASSUME_NONNULL_BEGIN
50
50
  @property (nonatomic, assign) CGFloat mathPaddingVertical;
51
51
  @property (nonatomic, strong, nullable) RCTUIColor *mathSelectedBackgroundColor;
52
52
  @property (nonatomic, strong, nullable) RCTUIColor *mathSelectedBorderColor;
53
+ /// Raw `fontWeight` string; narrowed at the draw site (see ENRMMathFontWeight.h).
54
+ @property (nonatomic, copy, nullable) NSString *mathFontWeight;
53
55
 
54
56
  /// Math block (`$$...$$`)
55
57
  @property (nonatomic, strong, nullable) RCTUIColor *mathBlockColor;
@@ -65,6 +67,8 @@ NS_ASSUME_NONNULL_BEGIN
65
67
  @property (nonatomic, assign) CGFloat mathBlockMarginTop;
66
68
  @property (nonatomic, assign) CGFloat mathBlockMarginBottom;
67
69
  @property (nonatomic, assign) NSTextAlignment mathBlockAlignment;
70
+ /// Raw `fontWeight` string; narrowed at the draw site (see ENRMMathFontWeight.h).
71
+ @property (nonatomic, copy, nullable) NSString *mathBlockFontWeight;
68
72
 
69
73
  - (UIFont *)fontForTraits:(UIFontDescriptorSymbolicTraits)traits;
70
74
  - (void)invalidateFontCache;
@@ -56,6 +56,7 @@
56
56
  copy.mathPaddingVertical = _mathPaddingVertical;
57
57
  copy.mathSelectedBackgroundColor = _mathSelectedBackgroundColor;
58
58
  copy.mathSelectedBorderColor = _mathSelectedBorderColor;
59
+ copy.mathFontWeight = _mathFontWeight;
59
60
  copy.mathBlockColor = _mathBlockColor;
60
61
  copy.mathBlockFontSize = _mathBlockFontSize;
61
62
  copy.mathBlockBackgroundColor = _mathBlockBackgroundColor;
@@ -69,6 +70,7 @@
69
70
  copy.mathBlockMarginTop = _mathBlockMarginTop;
70
71
  copy.mathBlockMarginBottom = _mathBlockMarginBottom;
71
72
  copy.mathBlockAlignment = _mathBlockAlignment;
73
+ copy.mathBlockFontWeight = _mathBlockFontWeight;
72
74
  return copy;
73
75
  }
74
76
 
@@ -13,6 +13,7 @@
13
13
  #import "ENRMInputTextView.h"
14
14
  #import "ENRMLinkRegexConfig.h"
15
15
  #import "ENRMMarkdownSerializer.h"
16
+ #import "ENRMMathFontWeight.h"
16
17
  #if ENRICHED_MARKDOWN_MATH
17
18
  #import "ENRMMathInlineAttachment.h"
18
19
  #endif
@@ -770,6 +771,7 @@ using namespace facebook::react;
770
771
  att.blockAlignment = _formatterStyle.mathBlockAlignment;
771
772
  att.selectedBackgroundColor = _formatterStyle.mathBlockSelectedBackgroundColor;
772
773
  att.selectedBorderColor = _formatterStyle.mathBlockSelectedBorderColor;
774
+ att.bold = ENRMMathFontWeightIsBold(_formatterStyle.mathBlockFontWeight);
773
775
  } else {
774
776
  att.fontSize = _formatterStyle.mathFontSize > 0 ? _formatterStyle.mathFontSize : 16.0;
775
777
  att.mathTextColor = _formatterStyle.mathColor ?: _formatterStyle.baseTextColor;
@@ -784,6 +786,7 @@ using namespace facebook::react;
784
786
  att.blockAlignment = NSTextAlignmentNatural;
785
787
  att.selectedBackgroundColor = _formatterStyle.mathSelectedBackgroundColor;
786
788
  att.selectedBorderColor = _formatterStyle.mathSelectedBorderColor;
789
+ att.bold = ENRMMathFontWeightIsBold(_formatterStyle.mathFontWeight);
787
790
  }
788
791
  }
789
792
 
@@ -187,6 +187,12 @@ BOOL applyInputStyleProps(ENRMInputFormatterStyle *style, const InputProps &newP
187
187
  style.mathSelectedBorderColor = (sbc && CGColorGetAlpha(sbc.CGColor) > 0) ? sbc : nil;
188
188
  changed = YES;
189
189
  }
190
+ if (newProps.markdownStyle.math.fontWeight != oldProps.markdownStyle.math.fontWeight) {
191
+ if (!newProps.markdownStyle.math.fontWeight.empty()) {
192
+ style.mathFontWeight = [[NSString alloc] initWithUTF8String:newProps.markdownStyle.math.fontWeight.c_str()];
193
+ changed = YES;
194
+ }
195
+ }
190
196
 
191
197
  // Math block (`$$...$$`)
192
198
  if (newProps.markdownStyle.mathBlock.color != oldProps.markdownStyle.mathBlock.color) {
@@ -237,6 +243,13 @@ BOOL applyInputStyleProps(ENRMInputFormatterStyle *style, const InputProps &newP
237
243
  style.mathBlockSelectedBorderColor = (sbc && CGColorGetAlpha(sbc.CGColor) > 0) ? sbc : nil;
238
244
  changed = YES;
239
245
  }
246
+ if (newProps.markdownStyle.mathBlock.fontWeight != oldProps.markdownStyle.mathBlock.fontWeight) {
247
+ if (!newProps.markdownStyle.mathBlock.fontWeight.empty()) {
248
+ style.mathBlockFontWeight =
249
+ [[NSString alloc] initWithUTF8String:newProps.markdownStyle.mathBlock.fontWeight.c_str()];
250
+ changed = YES;
251
+ }
252
+ }
240
253
  if (newProps.markdownStyle.mathBlock.marginTop != oldProps.markdownStyle.mathBlock.marginTop) {
241
254
  style.mathBlockMarginTop = newProps.markdownStyle.mathBlock.marginTop;
242
255
  changed = YES;
@@ -131,6 +131,7 @@ template <typename StyleStruct> inline size_t computeStyleFingerprint(const Styl
131
131
  hashFields(s.table.headerFontFamily, s.table.cellPaddingHorizontal, s.table.cellPaddingVertical, s.table.borderWidth,
132
132
  s.table.borderRadius);
133
133
  hashFields(s.math.fontSize, s.math.padding, s.math.marginTop, s.math.marginBottom, s.math.textAlign);
134
+ hashFields(s.inlineMath.paddingVertical);
134
135
  hashFields(s.taskList.checkboxSize, s.taskList.checkboxBorderRadius);
135
136
 
136
137
  return h;
@@ -10,17 +10,45 @@ import AppKit
10
10
  private typealias UIColor = NSColor
11
11
  #endif
12
12
 
13
+ /// Weight a formula is typeset at.
14
+ ///
15
+ /// An enum rather than the `BOOL` that crosses the ObjC boundary so the draw
16
+ /// path's switch turns a third weight into a compile error. Mirrors
17
+ /// MathFontWeight.kt on Android.
18
+ private enum MathFontWeight {
19
+ case normal
20
+ case bold
21
+
22
+ init(bold: Bool) {
23
+ self = bold ? .bold : .normal
24
+ }
25
+
26
+ /// Stroke added to each glyph outline, as a fraction of the em size. Scales
27
+ /// with the formula so a display block and an inline fraction read alike.
28
+ var strokeEmRatio: CGFloat {
29
+ switch self {
30
+ case .normal: return 0
31
+ case .bold: return 0.035
32
+ }
33
+ }
34
+ }
35
+
13
36
  @objc(ENRMRaTeXRenderResult)
14
37
  public final class ENRMRaTeXRenderResult: NSObject {
15
38
  private let renderer: RaTeXRenderer
39
+ /// Non-zero only in bold mode: half of it grows the glyph ink on each side.
40
+ private let boldStrokeWidth: CGFloat
41
+ private let boldStrokeColor: CGColor?
16
42
 
17
43
  @objc public let width: CGFloat
18
44
  @objc public let ascent: CGFloat
19
45
  @objc public let descent: CGFloat
20
46
  @objc public var totalHeight: CGFloat { ascent + descent }
21
47
 
22
- init(renderer: RaTeXRenderer) {
48
+ init(renderer: RaTeXRenderer, boldStrokeWidth: CGFloat, boldStrokeColor: CGColor?) {
23
49
  self.renderer = renderer
50
+ self.boldStrokeWidth = boldStrokeWidth
51
+ self.boldStrokeColor = boldStrokeColor
24
52
  self.width = renderer.width
25
53
  self.ascent = renderer.height
26
54
  self.descent = renderer.depth
@@ -28,7 +56,22 @@ public final class ENRMRaTeXRenderResult: NSObject {
28
56
  }
29
57
 
30
58
  @objc public func draw(in context: CGContext) {
59
+ guard boldStrokeWidth > 0, let boldStrokeColor else {
60
+ renderer.draw(in: context)
61
+ return
62
+ }
63
+ // Synthetic bold: stroke each glyph outline over its fill, the only way to
64
+ // add weight without moving glyphs whose positions RaTeX has already fixed
65
+ // (the KaTeX bold faces run up to 15% wider and would collide). It reaches
66
+ // every glyph because RaTeXRenderer.drawGlyph sets no text drawing mode of
67
+ // its own, including the paths RaTeX strokes itself (\cancel, \textcircled),
68
+ // which is why bold is opt-in per surface.
69
+ context.saveGState()
70
+ context.setTextDrawingMode(.fillStroke)
71
+ context.setLineWidth(boldStrokeWidth)
72
+ context.setStrokeColor(boldStrokeColor)
31
73
  renderer.draw(in: context)
74
+ context.restoreGState()
32
75
  }
33
76
  }
34
77
 
@@ -43,13 +86,19 @@ public final class ENRMRaTeXBridge: NSObject {
43
86
  _ latex: String,
44
87
  displayMode: Bool,
45
88
  fontSize: CGFloat,
46
- color: UIColor
89
+ color: UIColor,
90
+ bold: Bool
47
91
  ) -> ENRMRaTeXRenderResult? {
48
92
  RaTeXFontLoader.ensureLoaded()
49
93
  do {
50
94
  let displayList = try RaTeXEngine.shared.parse(latex, displayMode: displayMode, color: color)
51
95
  let renderer = RaTeXRenderer(displayList: displayList, fontSize: fontSize)
52
- return ENRMRaTeXRenderResult(renderer: renderer)
96
+ let strokeWidth = fontSize * MathFontWeight(bold: bold).strokeEmRatio
97
+ return ENRMRaTeXRenderResult(
98
+ renderer: renderer,
99
+ boldStrokeWidth: strokeWidth,
100
+ boldStrokeColor: strokeWidth > 0 ? color.cgColor : nil
101
+ )
53
102
  } catch {
54
103
  NSLog("[RaTeX] Failed to parse LaTeX: %@", error.localizedDescription)
55
104
  return nil
@@ -1,4 +1,5 @@
1
1
  #import "ENRMMathInlineRenderer.h"
2
+ #import "ENRMMathFontWeight.h"
2
3
  #import "ENRMMathInlineAttachment.h"
3
4
  #import "MarkdownASTNode.h"
4
5
  #import "RenderContext.h"
@@ -25,6 +26,8 @@
25
26
  attachment.latex = latex;
26
27
  attachment.fontSize = currentFont ? currentFont.pointSize : [_config paragraphFontSize];
27
28
  attachment.mathTextColor = [_config inlineMathColor];
29
+ attachment.containerPaddingVertical = [_config inlineMathPaddingVertical];
30
+ attachment.bold = ENRMMathFontWeightIsBold([_config inlineMathFontWeight]);
28
31
 
29
32
  #if TARGET_OS_OSX
30
33
  // On macOS, NSLayoutManager uses self.image/self.bounds rather than calling
@@ -378,10 +378,16 @@ NS_ASSUME_NONNULL_BEGIN
378
378
  - (void)setMathMarginBottom:(CGFloat)newValue;
379
379
  - (NSString *)mathTextAlign;
380
380
  - (void)setMathTextAlign:(NSString *)newValue;
381
+ - (NSString *)mathFontWeight;
382
+ - (void)setMathFontWeight:(NSString *)newValue;
381
383
 
382
384
  // Inline Math properties
383
385
  - (RCTUIColor *)inlineMathColor;
384
386
  - (void)setInlineMathColor:(RCTUIColor *)newValue;
387
+ - (CGFloat)inlineMathPaddingVertical;
388
+ - (void)setInlineMathPaddingVertical:(CGFloat)newValue;
389
+ - (NSString *)inlineMathFontWeight;
390
+ - (void)setInlineMathFontWeight:(NSString *)newValue;
385
391
  // Spoiler properties
386
392
  - (RCTUIColor *)spoilerColor;
387
393
  - (void)setSpoilerColor:(RCTUIColor *)newValue;
@@ -224,8 +224,11 @@ static inline NSString *normalizedFontWeight(NSString *fontWeight)
224
224
  CGFloat _mathMarginTop;
225
225
  CGFloat _mathMarginBottom;
226
226
  NSString *_mathTextAlign;
227
+ NSString *_mathFontWeight;
227
228
  // Inline Math properties
228
229
  RCTUIColor *_inlineMathColor;
230
+ CGFloat _inlineMathPaddingVertical;
231
+ NSString *_inlineMathFontWeight;
229
232
  // Spoiler properties
230
233
  RCTUIColor *_spoilerColor;
231
234
  CGFloat _spoilerParticleDensity;
@@ -482,7 +485,10 @@ static inline NSString *normalizedFontWeight(NSString *fontWeight)
482
485
  copy->_mathMarginTop = _mathMarginTop;
483
486
  copy->_mathMarginBottom = _mathMarginBottom;
484
487
  copy->_mathTextAlign = [_mathTextAlign copy];
488
+ copy->_mathFontWeight = [_mathFontWeight copy];
485
489
  copy->_inlineMathColor = [_inlineMathColor copy];
490
+ copy->_inlineMathPaddingVertical = _inlineMathPaddingVertical;
491
+ copy->_inlineMathFontWeight = [_inlineMathFontWeight copy];
486
492
  copy->_spoilerColor = [_spoilerColor copy];
487
493
  copy->_spoilerParticleDensity = _spoilerParticleDensity;
488
494
  copy->_spoilerParticleSpeed = _spoilerParticleSpeed;
@@ -2430,6 +2436,36 @@ static const CGFloat kDefaultMinGap = 4.0;
2430
2436
  _inlineMathColor = newValue;
2431
2437
  }
2432
2438
 
2439
+ - (CGFloat)inlineMathPaddingVertical
2440
+ {
2441
+ return _inlineMathPaddingVertical;
2442
+ }
2443
+
2444
+ - (NSString *)mathFontWeight
2445
+ {
2446
+ return _mathFontWeight;
2447
+ }
2448
+
2449
+ - (void)setMathFontWeight:(NSString *)newValue
2450
+ {
2451
+ _mathFontWeight = newValue;
2452
+ }
2453
+
2454
+ - (NSString *)inlineMathFontWeight
2455
+ {
2456
+ return _inlineMathFontWeight;
2457
+ }
2458
+
2459
+ - (void)setInlineMathFontWeight:(NSString *)newValue
2460
+ {
2461
+ _inlineMathFontWeight = newValue;
2462
+ }
2463
+
2464
+ - (void)setInlineMathPaddingVertical:(CGFloat)newValue
2465
+ {
2466
+ _inlineMathPaddingVertical = newValue;
2467
+ }
2468
+
2433
2469
  // ── Spoiler ─────────────────────────────────────────────────────────────
2434
2470
 
2435
2471
  - (RCTUIColor *)spoilerColor
@@ -0,0 +1,18 @@
1
+ #pragma once
2
+
3
+ #import <Foundation/Foundation.h>
4
+
5
+ /// Weight a formula can actually be typeset at.
6
+ ///
7
+ /// The style config keeps `fontWeight` as an `NSString *`, the way the other 13
8
+ /// `fontWeight` props do, so a value like `@"600"` survives as far as the
9
+ /// renderer. This is the narrowing step at that last hop — the only place on
10
+ /// iOS that decides what "bold" means for math — so the rule lives in one
11
+ /// place instead of at every prop boundary. Mirrors MathFontWeight.kt on
12
+ /// Android.
13
+ ///
14
+ /// `nil` (prop never set) reads as normal, which is the documented default.
15
+ static inline BOOL ENRMMathFontWeightIsBold(NSString *_Nullable fontWeight)
16
+ {
17
+ return [fontWeight isEqualToString:@"bold"];
18
+ }
@@ -1078,6 +1078,14 @@ BOOL applyMarkdownStyleToConfig(StyleConfig *config, const MarkdownStyle &newSty
1078
1078
  changed = YES;
1079
1079
  }
1080
1080
 
1081
+ if (newStyle.math.fontWeight != oldStyle.math.fontWeight) {
1082
+ if (!newStyle.math.fontWeight.empty()) {
1083
+ NSString *fontWeight = [[NSString alloc] initWithUTF8String:newStyle.math.fontWeight.c_str()];
1084
+ [config setMathFontWeight:fontWeight];
1085
+ changed = YES;
1086
+ }
1087
+ }
1088
+
1081
1089
  if (newStyle.math.textAlign != oldStyle.math.textAlign) {
1082
1090
  [config setMathTextAlign:@(newStyle.math.textAlign.c_str())];
1083
1091
  changed = YES;
@@ -1095,6 +1103,19 @@ BOOL applyMarkdownStyleToConfig(StyleConfig *config, const MarkdownStyle &newSty
1095
1103
  changed = YES;
1096
1104
  }
1097
1105
 
1106
+ if (newStyle.inlineMath.fontWeight != oldStyle.inlineMath.fontWeight) {
1107
+ if (!newStyle.inlineMath.fontWeight.empty()) {
1108
+ NSString *fontWeight = [[NSString alloc] initWithUTF8String:newStyle.inlineMath.fontWeight.c_str()];
1109
+ [config setInlineMathFontWeight:fontWeight];
1110
+ changed = YES;
1111
+ }
1112
+ }
1113
+
1114
+ if (newStyle.inlineMath.paddingVertical != oldStyle.inlineMath.paddingVertical) {
1115
+ [config setInlineMathPaddingVertical:newStyle.inlineMath.paddingVertical];
1116
+ changed = YES;
1117
+ }
1118
+
1098
1119
  // ── Spoiler ─────────────────────────────────────────────────────────────
1099
1120
 
1100
1121
  if (newStyle.spoiler.color != oldStyle.spoiler.color) {
@@ -1,6 +1,7 @@
1
1
  #import "ENRMMathContainerView.h"
2
2
  #import "ENRMAccessibilityLabels.h"
3
3
  #import "ENRMFeatureFlags.h"
4
+ #import "ENRMMathFontWeight.h"
4
5
  #include <TargetConditionals.h>
5
6
 
6
7
  #if ENRICHED_MARKDOWN_MATH
@@ -94,7 +95,8 @@
94
95
  ENRMRaTeXRenderResult *result = [ENRMRaTeXBridge parse:latex
95
96
  displayMode:YES
96
97
  fontSize:config.mathFontSize
97
- color:config.mathColor];
98
+ color:config.mathColor
99
+ bold:ENRMMathFontWeightIsBold(config.mathFontWeight)];
98
100
  _mathView.renderResult = result;
99
101
 
100
102
  CGFloat padding = config.mathPadding;
@@ -141,10 +141,13 @@ interface MathStyleInternal {
141
141
  marginTop: CodegenTypes.Float;
142
142
  marginBottom: CodegenTypes.Float;
143
143
  textAlign: string;
144
+ fontWeight: string;
144
145
  }
145
146
 
146
147
  interface InlineMathStyleInternal {
147
148
  color: ColorValue;
149
+ paddingVertical: CodegenTypes.Float;
150
+ fontWeight: string;
148
151
  }
149
152
 
150
153
  interface SpoilerParticlesStyleInternal {
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useImperativeHandle","useMemo","useRef","EnrichedMarkdownTextInputNativeComponent","Commands","normalizeMarkdownTextInputStyle","normalizeMenuItem","toNativeRegexConfig","jsx","_jsx","getNativeRef","ref","current","Error","EnrichedMarkdownTextInput","markdownStyle","style","defaultValue","placeholder","placeholderTextColor","editable","autoFocus","scrollEnabled","autoCapitalize","multiline","cursorColor","selectionColor","onChangeText","onChangeMarkdown","onChangeSelection","onChangeState","onCaretRectChange","onLinkDetected","onMathPress","mentionIndicators","onStartMention","onChangeMention","onEndMention","onFocus","onBlur","contextMenuItems","selectionMenuConfig","formatMenuConfig","linkRegex","_linkRegex","writingDirection","rest","nativeRef","initialDefaultValue","nextRequestId","pendingRequests","Map","pendingCaretRectRequests","contextMenuCallbacksRef","callbacksMap","item","set","text","onPress","nativeContextMenuItems","filter","visible","map","icon","pending","pendingCaretRect","err","forEach","reject","clear","normalizedStyle","normalizedSelectionMenuConfig","format","copyAsMarkdown","enabled","formatLabel","label","copyAsMarkdownLabel","normalizedFormatMenuConfig","bold","italic","underline","strikethrough","spoiler","link","boldLabel","italicLabel","underlineLabel","strikethroughLabel","spoilerLabel","linkLabel","handleLinkDetected","e","url","start","end","nativeEvent","handleMathPress","latex","displayMode","x","y","width","height","rect","handleChangeText","value","handleChangeMarkdown","handleChangeSelection","handleChangeState","handleCaretRectChange","handleStartMention","handleChangeMention","handleEndMention","handleFocus","handleBlur","handleRequestMarkdownResult","requestId","markdown","get","resolve","delete","handleRequestCaretRectResult","handleContextMenuItemPress","itemText","selectedText","selectionStart","selectionEnd","styleState","callback","selection","node","commandRef","measure","measureInWindow","measureLayout","relativeToNativeNode","onSuccess","onFail","focus","blur","setValue","setSelection","toggleBold","toggleItalic","toggleUnderline","toggleStrikethrough","toggleSpoiler","setLink","insertLink","insertMention","displayText","startMention","indicator","removeLink","insertMath","options","display","updateMath","removeMath","copyToClipboard","getMarkdown","Promise","requestMarkdown","getCaretRect","requestCaretRect","isOnChangeMarkdownSet","undefined","onInputFocus","onInputBlur","onRequestMarkdownResult","onRequestCaretRectResult","onContextMenuItemPress"],"sourceRoot":"../../src","sources":["EnrichedMarkdownTextInput.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useImperativeHandle","useMemo","useRef","EnrichedMarkdownTextInputNativeComponent","Commands","normalizeMarkdownTextInputStyle","normalizeMenuItem","toNativeRegexConfig","jsx","_jsx","getNativeRef","ref","current","Error","EnrichedMarkdownTextInput","markdownStyle","style","defaultValue","placeholder","placeholderTextColor","editable","autoFocus","scrollEnabled","autoCapitalize","multiline","cursorColor","selectionColor","onChangeText","onChangeMarkdown","onChangeSelection","onChangeState","onCaretRectChange","onLinkDetected","onMathPress","mentionIndicators","onStartMention","onChangeMention","onEndMention","onFocus","onBlur","contextMenuItems","selectionMenuConfig","formatMenuConfig","linkRegex","_linkRegex","writingDirection","rest","nativeRef","initialDefaultValue","nextRequestId","pendingRequests","Map","pendingCaretRectRequests","contextMenuCallbacksRef","callbacksMap","item","set","text","onPress","nativeContextMenuItems","filter","visible","map","icon","pending","pendingCaretRect","err","forEach","reject","clear","normalizedStyle","normalizedSelectionMenuConfig","format","copyAsMarkdown","enabled","formatLabel","label","copyAsMarkdownLabel","normalizedFormatMenuConfig","bold","italic","underline","strikethrough","spoiler","link","boldLabel","italicLabel","underlineLabel","strikethroughLabel","spoilerLabel","linkLabel","handleLinkDetected","e","url","start","end","nativeEvent","handleMathPress","latex","displayMode","x","y","width","height","rect","handleChangeText","value","handleChangeMarkdown","handleChangeSelection","handleChangeState","handleCaretRectChange","handleStartMention","handleChangeMention","handleEndMention","handleFocus","handleBlur","handleRequestMarkdownResult","requestId","markdown","get","resolve","delete","handleRequestCaretRectResult","handleContextMenuItemPress","itemText","selectedText","selectionStart","selectionEnd","styleState","callback","selection","node","commandRef","measure","measureInWindow","measureLayout","relativeToNativeNode","onSuccess","onFail","focus","blur","setValue","setSelection","toggleBold","toggleItalic","toggleUnderline","toggleStrikethrough","toggleSpoiler","setLink","insertLink","insertMention","displayText","startMention","indicator","removeLink","insertMath","options","display","updateMath","removeMath","copyToClipboard","getMarkdown","Promise","requestMarkdown","getCaretRect","requestCaretRect","isOnChangeMarkdownSet","undefined","onInputFocus","onInputBlur","onRequestMarkdownResult","onRequestCaretRectResult","onContextMenuItemPress"],"sourceRoot":"../../src","sources":["EnrichedMarkdownTextInput.tsx"],"mappings":"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","ignoreList":[]}
@@ -19,6 +19,7 @@ interface MathStyleInternal {
19
19
  paddingVertical: CodegenTypes.Float;
20
20
  selectedBackgroundColor: ColorValue;
21
21
  selectedBorderColor: ColorValue;
22
+ fontWeight: string;
22
23
  }
23
24
 
24
25
  interface MathBlockStyleInternal extends MathStyleInternal {
@@ -141,10 +141,13 @@ interface MathStyleInternal {
141
141
  marginTop: CodegenTypes.Float;
142
142
  marginBottom: CodegenTypes.Float;
143
143
  textAlign: string;
144
+ fontWeight: string;
144
145
  }
145
146
 
146
147
  interface InlineMathStyleInternal {
147
148
  color: ColorValue;
149
+ paddingVertical: CodegenTypes.Float;
150
+ fontWeight: string;
148
151
  }
149
152
 
150
153
  interface SpoilerParticlesStyleInternal {
@@ -237,10 +237,13 @@ const DEFAULT_NORMALIZED_STYLE = Object.freeze({
237
237
  padding: 12,
238
238
  marginTop: 0,
239
239
  marginBottom: 16,
240
- textAlign: 'center'
240
+ textAlign: 'center',
241
+ fontWeight: 'normal'
241
242
  },
242
243
  inlineMath: {
243
- color: defaultTextColor
244
+ color: defaultTextColor,
245
+ paddingVertical: 4,
246
+ fontWeight: 'normal'
244
247
  },
245
248
  taskList: {
246
249
  checkedColor: Platform.select({