styles.xml 폴더가 있는 경로에서 우클릭 > New > Values Resource Files

파일명 style, County code 선택후 >> 버튼 클릭

Mobile county code 입력 > OK (국가별 코드는 링크에서 확인 가능)

 

styles.xml 파일에 국가별로 적용할 font family 파일 작성 (style name은 통일)

    <style name="AppTextViewStyle">
        <item name="android:fontFamily">@font/font_family</item>
        <item name="fontFamily">@font/font_family</item>
    </style>
    <style name="AppTextViewStyle">
        <item name="android:fontFamily">@font/font_family_kor</item>
        <item name="fontFamily">@font/font_family_kor</item>
    </style>

앱 theme에 커스텀한 TextViewStyle 적용

<resources xmlns:tools="http://schemas.android.com/tools">
    <!-- Base application theme. -->
    <style name="Theme.App" parent="Theme.MaterialComponents.DayNight.NoActionBar">
    	...
        <item name="android:textViewStyle">@style/AppTextViewStyle</item>
        <item name="android:editTextStyle">@style/AppTextViewStyle</item>
        <item name="android:buttonStyle">@style/AppTextViewStyle</item>
     </style>
</resources>

이제 언어별로 다른 폰트가 적용된다.

  • 숫자는 default style.xml 파일에 정의된 폰트를 따라감
  • 특수문자는 직전에 사용된 폰트를 따르는듯
  • (왜 서로 규칙이 다른건지;;)