反応ネイティブでのフォントとフォントファミリの理解を深めようとしています。シャウテム/UI ライブラリと exponentjs フレームワークの間にバグが見つかりました。ここで、シャウテム/UI が TextInput のスタイルを に設定していましたRubik
。ただし、exponentjs プロジェクトは各ルービック フォントを個別にロードし、特定のルービック フォントまたはウェイトへの参照を必要としますRubik-Regular
。
https://github.com/shoutem/ui/blob/develop/theme.js
https://github.com/exponent/shoutem-example
私が理解していないのは、これらすべてのルービックフォントがフォントファミリーの一部であることを理解し、フォント全体をRubik
太字、斜体などに設定して表示する、デフォルトの反応ネイティブフォント実装のどこかで発生するデフォルトの魔法があるかどうかです。 ...必要に応じて、テキストが太字としてスタイル設定されていますか? これは、Exponent が、これらすべてのフォントを名前付きの font-family グループに集約するこのフォント集約機能を実装していないということですか?
または...
アプリに存在しないフォントを参照することで、shuutem ライブラリは間違いを犯しましたか?
指数アプリが、shoutem ライブラリで使用されるすべてのフォントを読み込む方法:
{'Rubik-Black': require('./node_modules/@shoutem/ui/fonts/Rubik-Black.ttf')},
{'Rubik-BlackItalic': require('./node_modules/@shoutem/ui/fonts/Rubik-BlackItalic.ttf')},
{'Rubik-Bold': require('./node_modules/@shoutem/ui/fonts/Rubik-Bold.ttf')},
{'Rubik-BoldItalic': require('./node_modules/@shoutem/ui/fonts/Rubik-BoldItalic.ttf')},
{'Rubik-Italic': require('./node_modules/@shoutem/ui/fonts/Rubik-Italic.ttf')},
{'Rubik-Light': require('./node_modules/@shoutem/ui/fonts/Rubik-Light.ttf')},
{'Rubik-LightItalic': require('./node_modules/@shoutem/ui/fonts/Rubik-LightItalic.ttf')},
{'Rubik-Medium': require('./node_modules/@shoutem/ui/fonts/Rubik-Medium.ttf')},
{'Rubik-MediumItalic': require('./node_modules/@shoutem/ui/fonts/Rubik-MediumItalic.ttf')},
{'Rubik-Regular': require('./node_modules/@shoutem/ui/fonts/Rubik-Regular.ttf')},
{'Rubik': require('./node_modules/@shoutem/ui/fonts/Rubik-Regular.ttf')},
{'rubicon-icon-font': require('./node_modules/@shoutem/ui/fonts/rubicon-icon-font.ttf')},
... using Exponent.Font.loadAsync(font)