React Native:Android和iOS上的自定义字体呈现方式不同

时间:2017-01-10 13:44:17

标签: android ios fonts react-native

在下图中,我检查了与左侧Android和iOS右侧渲染相同的Text-component。似乎iOS将字体呈现在Text-container的顶部。

我在Android和iOS上都使用相同的TTF字体文件。 (我找到了一个在线参考我正在使用的字体here。)

如何让Android和iOS的字体呈现方式相同?

enter image description here

为了清楚起见,差异不是由任何样式(边距,字体大小等)引起的。它完全一样。

2 个答案:

答案 0 :(得分:7)

我找到了一个解决方案,但感觉不对。我认为你应该找到另一种在每台设备上渲染相同的字体。

您可以使用lineHeightpaddingmargin来为文本组件获取相同的垂直对齐方式:

Ios:

instructions: {
    fontFamily: 'Metric-Regular',
    fontSize: 50,
    lineHeight: 50,
    paddingTop: 25,
    marginBottom: -35,
    marginTop: 35
  }

enter image description here

答案 1 :(得分:0)

问题是lineGapascender .ttf字体文件参数。使用ftxdumperfuser工具修复它们。选中https://medium.com/@martin_adamko/consistent-font-line-height-rendering-42068cc2957d