fix Thai characters

master
reng 3 years ago
parent a1733447b0
commit 8a8b7eae7a
  1. 61
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/Main-1-Intro.unity
  2. 137
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/Main-2-Coloring.unity
  3. 123
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/Main-3-Signature.unity
  4. 80
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/Main-5-Postcard.unity
  5. 86
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/Main-6-SelectChar.unity
  6. 46
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/Resources/I2Languages.asset
  7. 1645
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/Resources/NotoSansThai-Regular-Adjusted SDF.asset
  8. 8
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/Resources/NotoSansThai-Regular-Adjusted SDF.asset.meta
  9. 2
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/Resources/NotoSerifTC-Regular.asset
  10. 2194
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/Resources/NotoSerifThai-Regular.asset
  11. 57
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/RoyalGallery/Script/ThaiAdjust.cs
  12. 11
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/RoyalGallery/Script/ThaiAdjust.cs.meta
  13. 5
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/UnityPackages.meta
  14. 5
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/UnityPackages/ThaiFontAdjuster.meta
  15. 43
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/UnityPackages/ThaiFontAdjuster.unitypackage.json
  16. 4
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/UnityPackages/ThaiFontAdjuster.unitypackage.json.meta
  17. 154
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/UnityPackages/ThaiFontAdjuster/ThaiFontAdjuster.cs
  18. 12
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/UnityPackages/ThaiFontAdjuster/ThaiFontAdjuster.cs.meta
  19. 5
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/UnityPackages/ThaiFontAdjusterDemo.meta
  20. BIN
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/UnityPackages/ThaiFontAdjusterDemo/Garuda.ttf
  21. 19
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/UnityPackages/ThaiFontAdjusterDemo/Garuda.ttf.meta
  22. BIN
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/UnityPackages/ThaiFontAdjusterDemo/Kinnari.ttf
  23. 19
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/UnityPackages/ThaiFontAdjusterDemo/Kinnari.ttf.meta
  24. BIN
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/UnityPackages/ThaiFontAdjusterDemo/Loma.ttf
  25. 19
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/UnityPackages/ThaiFontAdjusterDemo/Loma.ttf.meta
  26. BIN
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/UnityPackages/ThaiFontAdjusterDemo/Norasi.ttf
  27. 19
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/UnityPackages/ThaiFontAdjusterDemo/Norasi.ttf.meta
  28. BIN
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/UnityPackages/ThaiFontAdjusterDemo/NotoSansThai-Regular-Adjusted.ttf
  29. 19
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/UnityPackages/ThaiFontAdjusterDemo/NotoSansThai-Regular-Adjusted.ttf.meta
  30. 54
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/UnityPackages/ThaiFontAdjusterDemo/ThaiFontAdjusterDemo.cs
  31. 12
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/UnityPackages/ThaiFontAdjusterDemo/ThaiFontAdjusterDemo.cs.meta
  32. 1706
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/UnityPackages/ThaiFontAdjusterDemo/ThaiFontAdjusterDemo.unity
  33. 8
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/UnityPackages/ThaiFontAdjusterDemo/ThaiFontAdjusterDemo.unity.meta
  34. BIN
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/fonts/Garuda.ttf
  35. 23
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/fonts/Garuda.ttf.meta
  36. BIN
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/fonts/Kinnari.ttf
  37. 23
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/fonts/Kinnari.ttf.meta
  38. BIN
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/fonts/Loma.ttf
  39. 23
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/fonts/Loma.ttf.meta
  40. BIN
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/fonts/Norasi.ttf
  41. 23
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/fonts/Norasi.ttf.meta
  42. BIN
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/fonts/NotoSansThai-Regular-Adjusted.ttf
  43. 23
      03_RoyalGallery/Unity-19050-03_RoyalGallery_iPad/19050-03_RoyalGallery_iPad/Assets/fonts/NotoSansThai-Regular-Adjusted.ttf.meta

@ -745,6 +745,7 @@ GameObject:
- component: {fileID: 550562009}
- component: {fileID: 550562008}
- component: {fileID: 550562007}
- component: {fileID: 550562010}
m_Layer: 5
m_Name: main-start_tmp
m_TagString: Untagged
@ -829,10 +830,10 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: START
m_text: "\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f101d65fcacbc3c4894c0658b75abed3, type: 2}
m_sharedMaterial: {fileID: -329485177201057125, guid: f101d65fcacbc3c4894c0658b75abed3,
m_fontAsset: {fileID: 11400000, guid: 03bb15ef7ad46ec48aff332feb8ce724, type: 2}
m_sharedMaterial: {fileID: 7910913602227019456, guid: 03bb15ef7ad46ec48aff332feb8ce724,
type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
@ -863,7 +864,7 @@ MonoBehaviour:
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 17
m_fontStyle: 16
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
@ -907,6 +908,18 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 550562005}
m_CullTransparentMesh: 0
--- !u!114 &550562010
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 550562005}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f40335c1c61c3174dbbae06d39079ae8, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &650592445
GameObject:
m_ObjectHideFlags: 0
@ -1779,6 +1792,7 @@ GameObject:
- component: {fileID: 998783578}
- component: {fileID: 998783577}
- component: {fileID: 998783576}
- component: {fileID: 998783579}
m_Layer: 5
m_Name: COLORING-ARENDELLE_tmp-1
m_TagString: Untagged
@ -1863,10 +1877,10 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: Coloring
m_text: "\u0E23\u0E30\u0E1A\u0E32\u0E22\u0E2A\u0E35"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 25926ab1c3fc54a41bc3babca7b0791a, type: 2}
m_sharedMaterial: {fileID: 2326978606804711938, guid: 25926ab1c3fc54a41bc3babca7b0791a,
m_fontAsset: {fileID: 11400000, guid: 03bb15ef7ad46ec48aff332feb8ce724, type: 2}
m_sharedMaterial: {fileID: 7910913602227019456, guid: 03bb15ef7ad46ec48aff332feb8ce724,
type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
@ -1897,7 +1911,7 @@ MonoBehaviour:
m_enableAutoSizing: 0
m_fontSizeMin: 1
m_fontSizeMax: 205
m_fontStyle: 16
m_fontStyle: 17
m_HorizontalAlignment: 4
m_VerticalAlignment: 512
m_textAlignment: 65535
@ -1941,6 +1955,18 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 998783574}
m_CullTransparentMesh: 0
--- !u!114 &998783579
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 998783574}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f40335c1c61c3174dbbae06d39079ae8, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &1035213246
GameObject:
m_ObjectHideFlags: 0
@ -3476,6 +3502,7 @@ GameObject:
- component: {fileID: 1796758494}
- component: {fileID: 1796758493}
- component: {fileID: 1796758492}
- component: {fileID: 1796758495}
m_Layer: 5
m_Name: main-language_tmp
m_TagString: Untagged
@ -3560,10 +3587,10 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: "\u0E44\u0E17\u0E22"
m_text: Eng
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 02fb7c81edcca874b81df6299ee2892b, type: 2}
m_sharedMaterial: {fileID: -948934019608932328, guid: 02fb7c81edcca874b81df6299ee2892b,
m_fontAsset: {fileID: 11400000, guid: f101d65fcacbc3c4894c0658b75abed3, type: 2}
m_sharedMaterial: {fileID: -329485177201057125, guid: f101d65fcacbc3c4894c0658b75abed3,
type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
@ -3638,6 +3665,18 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1796758490}
m_CullTransparentMesh: 0
--- !u!114 &1796758495
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1796758490}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f40335c1c61c3174dbbae06d39079ae8, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &1802921003
MonoBehaviour:
m_ObjectHideFlags: 0

@ -1374,7 +1374,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 481ab606793a67349be805c13febeba0, type: 3}
m_Name:
m_EditorClassIdentifier:
mTarget: {fileID: 1261897950}
mTarget: {fileID: 1972405405}
mAlignment_RTL: 514
mAlignment_LTR: 514
mAlignmentWasRTL: 0
@ -1831,6 +1831,23 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 139668034}
m_CullTransparentMesh: 0
--- !u!114 &140301203
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 481ab606793a67349be805c13febeba0, type: 3}
m_Name:
m_EditorClassIdentifier:
mTarget: {fileID: 2000004580628623005}
mAlignment_RTL: 514
mAlignment_LTR: 514
mAlignmentWasRTL: 0
mInitializeAlignment: 0
--- !u!1 &147409231
GameObject:
m_ObjectHideFlags: 0
@ -6546,6 +6563,7 @@ GameObject:
- component: {fileID: 532742491}
- component: {fileID: 532742490}
- component: {fileID: 532742489}
- component: {fileID: 532742492}
m_Layer: 5
m_Name: color-finish_tmp
m_TagString: Untagged
@ -6708,6 +6726,18 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 532742487}
m_CullTransparentMesh: 0
--- !u!114 &532742492
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 532742487}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f40335c1c61c3174dbbae06d39079ae8, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &533620471
GameObject:
m_ObjectHideFlags: 0
@ -8560,6 +8590,7 @@ GameObject:
- component: {fileID: 674827128}
- component: {fileID: 674827127}
- component: {fileID: 674827126}
- component: {fileID: 674827129}
m_Layer: 5
m_Name: common-no_tmp
m_TagString: Untagged
@ -8644,7 +8675,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: "\u0E44\u0E21\u0E48\u0E43\u0E0A\u0E48, \u0E42\u0E1B\u0E23\u0E14\u0E22\u0E49\u0E2D\u0E19\u0E01\u0E25\u0E31\u0E1A"
m_text: "\u0E44\u0E21\u0E48\u0E43\u0E0A\u0E48\_ \u0E42\u0E1B\u0E23\u0E14\u0E22\u0E49\u0E2D\u0E19\u0E01\u0E25\u0E31\u0E1A"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 02fb7c81edcca874b81df6299ee2892b, type: 2}
m_sharedMaterial: {fileID: -948934019608932328, guid: 02fb7c81edcca874b81df6299ee2892b,
@ -8722,6 +8753,18 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 674827124}
m_CullTransparentMesh: 0
--- !u!114 &674827129
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 674827124}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f40335c1c61c3174dbbae06d39079ae8, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &676678155
GameObject:
m_ObjectHideFlags: 0
@ -13469,6 +13512,7 @@ GameObject:
- component: {fileID: 1103440930}
- component: {fileID: 1103440929}
- component: {fileID: 1103440928}
- component: {fileID: 1103440931}
m_Layer: 5
m_Name: common-yes _tmp
m_TagString: Untagged
@ -13553,7 +13597,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: "\u0E43\u0E0A\u0E48, \u0E42\u0E1B\u0E23\u0E14\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23"
m_text: "\u0E43\u0E0A\u0E48 \u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23\u0E15\u0E48\u0E2D"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 02fb7c81edcca874b81df6299ee2892b, type: 2}
m_sharedMaterial: {fileID: -948934019608932328, guid: 02fb7c81edcca874b81df6299ee2892b,
@ -13631,6 +13675,18 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1103440926}
m_CullTransparentMesh: 0
--- !u!114 &1103440931
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1103440926}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f40335c1c61c3174dbbae06d39079ae8, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &1106246003
GameObject:
m_ObjectHideFlags: 0
@ -14977,6 +15033,7 @@ GameObject:
- component: {fileID: 1210726991}
- component: {fileID: 1210726990}
- component: {fileID: 1210726989}
- component: {fileID: 1210726992}
m_Layer: 5
m_Name: color-warning-title_tmp
m_TagString: Untagged
@ -15061,7 +15118,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: "\u0E01\u0E32\u0E23\u0E2D\u0E31\u0E1E\u0E42\u0E2B\u0E25\u0E14\u0E1C\u0E25\u0E07\u0E32\u0E19"
m_text: "\u0E2D\u0E31\u0E1E\u0E42\u0E2B\u0E25\u0E14\u0E1C\u0E25\u0E07\u0E32\u0E19"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 02fb7c81edcca874b81df6299ee2892b, type: 2}
m_sharedMaterial: {fileID: -948934019608932328, guid: 02fb7c81edcca874b81df6299ee2892b,
@ -15139,6 +15196,18 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1210726987}
m_CullTransparentMesh: 0
--- !u!114 &1210726992
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1210726987}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f40335c1c61c3174dbbae06d39079ae8, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &1226511298
GameObject:
m_ObjectHideFlags: 0
@ -15615,6 +15684,7 @@ GameObject:
- component: {fileID: 1261897951}
- component: {fileID: 1261897950}
- component: {fileID: 1261897949}
- component: {fileID: 1261897952}
m_Layer: 5
m_Name: color-warning-desc_tmp
m_TagString: Untagged
@ -15699,7 +15769,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: "\u0E04\u0E38\u0E13\u0E23\u0E30\u0E1A\u0E32\u0E22\u0E2A\u0E35\u0E40\u0E2A\u0E23\u0E47\u0E08\u0E2A\u0E34\u0E49\u0E19\u0E41\u0E25\u0E49\u0E27\u0E43\u0E0A\u0E48\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48"
m_text: "\u0E04\u0E38\u0E13\u0E01\u0E33\u0E25\u0E31\u0E07\u0E08\u0E30\u0E2D\u0E2D\u0E01\u0E08\u0E32\u0E01\u0E2A\u0E48\u0E27\u0E19\u0E07\u0E32\u0E19\u0E23\u0E30\u0E1A\u0E32\u0E22\u0E2A\u0E35"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 02fb7c81edcca874b81df6299ee2892b, type: 2}
m_sharedMaterial: {fileID: -948934019608932328, guid: 02fb7c81edcca874b81df6299ee2892b,
@ -15777,6 +15847,18 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1261897947}
m_CullTransparentMesh: 0
--- !u!114 &1261897952
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1261897947}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f40335c1c61c3174dbbae06d39079ae8, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &1266836365
GameObject:
m_ObjectHideFlags: 0
@ -24385,6 +24467,7 @@ GameObject:
- component: {fileID: 1972405406}
- component: {fileID: 1972405405}
- component: {fileID: 1972405404}
- component: {fileID: 1972405407}
m_Layer: 5
m_Name: color-warning-desc_tmp (1)
m_TagString: Untagged
@ -24469,7 +24552,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: "\u0E43\u0E0A\u0E48, \u0E42\u0E1B\u0E23\u0E14\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23"
m_text: "\u0E04\u0E38\u0E13\u0E23\u0E30\u0E1A\u0E32\u0E22\u0E2A\u0E35\u0E40\u0E2A\u0E23\u0E47\u0E08\u0E2A\u0E34\u0E49\u0E19\u0E41\u0E25\u0E49\u0E27\u0E43\u0E0A\u0E48\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 02fb7c81edcca874b81df6299ee2892b, type: 2}
m_sharedMaterial: {fileID: -948934019608932328, guid: 02fb7c81edcca874b81df6299ee2892b,
@ -24547,6 +24630,18 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1972405402}
m_CullTransparentMesh: 0
--- !u!114 &1972405407
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1972405402}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f40335c1c61c3174dbbae06d39079ae8, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &1976583155
GameObject:
m_ObjectHideFlags: 0
@ -26855,6 +26950,36 @@ PrefabInstance:
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 8fd553587c443f141825bdcd07858522, type: 3}
--- !u!1 &2000004580628623004 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 6236922338507755595, guid: 8fd553587c443f141825bdcd07858522,
type: 3}
m_PrefabInstance: {fileID: 2000004580628623003}
m_PrefabAsset: {fileID: 0}
--- !u!114 &2000004580628623005 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 3395254318903095511, guid: 8fd553587c443f141825bdcd07858522,
type: 3}
m_PrefabInstance: {fileID: 2000004580628623003}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2000004580628623004}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &2000004580628623006
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2000004580628623004}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f40335c1c61c3174dbbae06d39079ae8, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &5174533238846385288
MonoBehaviour:
m_ObjectHideFlags: 0

@ -2110,6 +2110,7 @@ GameObject:
- component: {fileID: 127182048}
- component: {fileID: 127182047}
- component: {fileID: 127182046}
- component: {fileID: 127182049}
m_Layer: 5
m_Name: sign-send_tmp
m_TagString: Untagged
@ -2272,6 +2273,18 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 127182044}
m_CullTransparentMesh: 0
--- !u!114 &127182049
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 127182044}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f40335c1c61c3174dbbae06d39079ae8, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &139668034
GameObject:
m_ObjectHideFlags: 0
@ -11432,6 +11445,7 @@ GameObject:
- component: {fileID: 555732835}
- component: {fileID: 555732834}
- component: {fileID: 555732833}
- component: {fileID: 555732836}
m_Layer: 5
m_Name: sign-warning-title_tmp
m_TagString: Untagged
@ -11516,7 +11530,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: "\u0E15\u0E23\u0E27\u0E08\u0E2A\u0E2D\u0E1A\u0E25\u0E32\u0E22\u0E40\u0E0B\u0E19\u0E15\u0E4C\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13"
m_text: "\u0E15\u0E23\u0E27\u0E08\u0E2A\u0E2D\u0E1A\u0E25\u0E32\u0E22\u0E40\u0E0B\u0E47\u0E19\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 02fb7c81edcca874b81df6299ee2892b, type: 2}
m_sharedMaterial: {fileID: -948934019608932328, guid: 02fb7c81edcca874b81df6299ee2892b,
@ -11594,6 +11608,18 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 555732831}
m_CullTransparentMesh: 0
--- !u!114 &555732836
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 555732831}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f40335c1c61c3174dbbae06d39079ae8, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1001 &562187262
PrefabInstance:
m_ObjectHideFlags: 0
@ -16996,6 +17022,7 @@ GameObject:
- component: {fileID: 824397737}
- component: {fileID: 824397736}
- component: {fileID: 824397735}
- component: {fileID: 824397738}
m_Layer: 5
m_Name: common-yes_tmp
m_TagString: Untagged
@ -17158,6 +17185,18 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 824397733}
m_CullTransparentMesh: 0
--- !u!114 &824397738
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 824397733}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f40335c1c61c3174dbbae06d39079ae8, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &829756664
GameObject:
m_ObjectHideFlags: 0
@ -22161,6 +22200,23 @@ MonoBehaviour:
m_PersistentCalls:
m_Calls: []
m_IsOn: 0
--- !u!114 &1160640358
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 481ab606793a67349be805c13febeba0, type: 3}
m_Name:
m_EditorClassIdentifier:
mTarget: {fileID: 1190125016}
mAlignment_RTL: 514
mAlignment_LTR: 514
mAlignmentWasRTL: 0
mInitializeAlignment: 0
--- !u!1 &1162781235
GameObject:
m_ObjectHideFlags: 0
@ -22804,12 +22860,30 @@ MonoBehaviour:
type: 3}
m_PrefabInstance: {fileID: 1190125013}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_GameObject: {fileID: 1190125017}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &1190125017 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 6236922338507755595, guid: 8fd553587c443f141825bdcd07858522,
type: 3}
m_PrefabInstance: {fileID: 1190125013}
m_PrefabAsset: {fileID: 0}
--- !u!114 &1190125018
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1190125017}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f40335c1c61c3174dbbae06d39079ae8, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &1192641009
GameObject:
m_ObjectHideFlags: 0
@ -24526,6 +24600,7 @@ GameObject:
- component: {fileID: 1310379009}
- component: {fileID: 1310379008}
- component: {fileID: 1310379007}
- component: {fileID: 1310379010}
m_Layer: 5
m_Name: common-no_tmp
m_TagString: Untagged
@ -24688,6 +24763,18 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1310379005}
m_CullTransparentMesh: 0
--- !u!114 &1310379010
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1310379005}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f40335c1c61c3174dbbae06d39079ae8, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &1319173121
GameObject:
m_ObjectHideFlags: 0
@ -26397,23 +26484,6 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1398997710}
m_CullTransparentMesh: 0
--- !u!114 &1401176479
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 481ab606793a67349be805c13febeba0, type: 3}
m_Name:
m_EditorClassIdentifier:
mTarget: {fileID: 1190125016}
mAlignment_RTL: 514
mAlignment_LTR: 514
mAlignmentWasRTL: 0
mInitializeAlignment: 0
--- !u!1 &1401639479
GameObject:
m_ObjectHideFlags: 0
@ -28049,6 +28119,7 @@ GameObject:
- component: {fileID: 1502238135}
- component: {fileID: 1502238134}
- component: {fileID: 1502238133}
- component: {fileID: 1502238136}
m_Layer: 5
m_Name: sign-desc_tmp
m_TagString: Untagged
@ -28133,7 +28204,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: "\u0E25\u0E32\u0E22\u0E40\u0E0B\u0E19\u0E15\u0E4C\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13\r"
m_text: "\u0E40\u0E0B\u0E47\u0E19\u0E0A\u0E37\u0E48\u0E2D\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 02fb7c81edcca874b81df6299ee2892b, type: 2}
m_sharedMaterial: {fileID: -948934019608932328, guid: 02fb7c81edcca874b81df6299ee2892b,
@ -28211,6 +28282,18 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1502238131}
m_CullTransparentMesh: 0
--- !u!114 &1502238136
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1502238131}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f40335c1c61c3174dbbae06d39079ae8, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &1507411010
GameObject:
m_ObjectHideFlags: 0

@ -133,6 +133,7 @@ GameObject:
- component: {fileID: 36393763}
- component: {fileID: 36393762}
- component: {fileID: 36393761}
- component: {fileID: 36393764}
m_Layer: 5
m_Name: postcard-ok_tmp
m_TagString: Untagged
@ -217,10 +218,10 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: GOT IT!
m_text: "\u0E23\u0E31\u0E1A\u0E17\u0E23\u0E32\u0E1A"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f101d65fcacbc3c4894c0658b75abed3, type: 2}
m_sharedMaterial: {fileID: -329485177201057125, guid: f101d65fcacbc3c4894c0658b75abed3,
m_fontAsset: {fileID: 11400000, guid: 03bb15ef7ad46ec48aff332feb8ce724, type: 2}
m_sharedMaterial: {fileID: 7910913602227019456, guid: 03bb15ef7ad46ec48aff332feb8ce724,
type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
@ -295,6 +296,18 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 36393759}
m_CullTransparentMesh: 0
--- !u!114 &36393764
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 36393759}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f40335c1c61c3174dbbae06d39079ae8, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &38213200
GameObject:
m_ObjectHideFlags: 0
@ -1203,6 +1216,7 @@ GameObject:
- component: {fileID: 547836816}
- component: {fileID: 547836815}
- component: {fileID: 547836814}
- component: {fileID: 547836817}
m_Layer: 5
m_Name: title _tmp
m_TagString: Untagged
@ -1287,10 +1301,10 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: UPLOAD COMPLETED
m_text: "\u0E2D\u0E31\u0E1E\u0E42\u0E2B\u0E25\u0E14\u0E20\u0E32\u0E1E\u0E40\u0E2A\u0E23\u0E47\u0E08\u0E2A\u0E21\u0E1A\u0E39\u0E23\u0E13\u0E4C"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f101d65fcacbc3c4894c0658b75abed3, type: 2}
m_sharedMaterial: {fileID: -329485177201057125, guid: f101d65fcacbc3c4894c0658b75abed3,
m_fontAsset: {fileID: 11400000, guid: 03bb15ef7ad46ec48aff332feb8ce724, type: 2}
m_sharedMaterial: {fileID: 7910913602227019456, guid: 03bb15ef7ad46ec48aff332feb8ce724,
type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
@ -1365,6 +1379,18 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 547836812}
m_CullTransparentMesh: 0
--- !u!114 &547836817
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 547836812}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f40335c1c61c3174dbbae06d39079ae8, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &562984736
GameObject:
m_ObjectHideFlags: 0
@ -1762,6 +1788,7 @@ GameObject:
- component: {fileID: 830878212}
- component: {fileID: 830878211}
- component: {fileID: 830878210}
- component: {fileID: 830878213}
m_Layer: 5
m_Name: postcard-desc_tmp
m_TagString: Untagged
@ -1846,10 +1873,10 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: You can purchase the with the print code at the counter
m_text: "\u0E42\u0E1B\u0E23\u0E14\u0E19\u0E33\u0E23\u0E2B\u0E31\u0E2A\u0E19\u0E35\u0E49\u0E44\u0E1B\u0E17\u0E35\u0E48\u0E40\u0E04\u0E32\u0E40\u0E15\u0E2D\u0E23\u0E4C\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E1E\u0E34\u0E21\u0E1E\u0E4C\u0E20\u0E32\u0E1E"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f101d65fcacbc3c4894c0658b75abed3, type: 2}
m_sharedMaterial: {fileID: -329485177201057125, guid: f101d65fcacbc3c4894c0658b75abed3,
m_fontAsset: {fileID: 11400000, guid: 03bb15ef7ad46ec48aff332feb8ce724, type: 2}
m_sharedMaterial: {fileID: 7910913602227019456, guid: 03bb15ef7ad46ec48aff332feb8ce724,
type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
@ -1924,6 +1951,18 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 830878208}
m_CullTransparentMesh: 0
--- !u!114 &830878213
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 830878208}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f40335c1c61c3174dbbae06d39079ae8, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &835753996
MonoBehaviour:
m_ObjectHideFlags: 0
@ -2694,6 +2733,7 @@ GameObject:
- component: {fileID: 1273949112}
- component: {fileID: 1273949111}
- component: {fileID: 1273949110}
- component: {fileID: 1273949113}
m_Layer: 5
m_Name: serial-desc_tmp
m_TagString: Untagged
@ -2778,10 +2818,10 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: YOUR PRINT CODE
m_text: "\u0E23\u0E2B\u0E31\u0E2A\u0E01\u0E32\u0E23\u0E1E\u0E34\u0E21\u0E1E\u0E4C\u0E23\u0E39\u0E1B\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f101d65fcacbc3c4894c0658b75abed3, type: 2}
m_sharedMaterial: {fileID: -329485177201057125, guid: f101d65fcacbc3c4894c0658b75abed3,
m_fontAsset: {fileID: 11400000, guid: 03bb15ef7ad46ec48aff332feb8ce724, type: 2}
m_sharedMaterial: {fileID: 7910913602227019456, guid: 03bb15ef7ad46ec48aff332feb8ce724,
type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
@ -2856,6 +2896,18 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1273949108}
m_CullTransparentMesh: 0
--- !u!114 &1273949113
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1273949108}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f40335c1c61c3174dbbae06d39079ae8, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &1345923361
GameObject:
m_ObjectHideFlags: 0
@ -2954,8 +3006,8 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
mTarget: {fileID: 830878211}
mAlignment_RTL: 260
mAlignment_LTR: 257
mAlignment_RTL: 514
mAlignment_LTR: 514
mAlignmentWasRTL: 0
mInitializeAlignment: 0
--- !u!1 &1478432113

@ -631,6 +631,7 @@ GameObject:
- component: {fileID: 439503727}
- component: {fileID: 439503726}
- component: {fileID: 439503725}
- component: {fileID: 439503728}
m_Layer: 5
m_Name: common-no_tmp
m_TagString: Untagged
@ -715,10 +716,10 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: No, Go Back
m_text: "\u0E44\u0E21\u0E48\u0E43\u0E0A\u0E48\_ \u0E42\u0E1B\u0E23\u0E14\u0E22\u0E49\u0E2D\u0E19\u0E01\u0E25\u0E31\u0E1A"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f101d65fcacbc3c4894c0658b75abed3, type: 2}
m_sharedMaterial: {fileID: -329485177201057125, guid: f101d65fcacbc3c4894c0658b75abed3,
m_fontAsset: {fileID: 11400000, guid: 0be38eb4ce26f964fbc13436457af09a, type: 2}
m_sharedMaterial: {fileID: -3540279754479944365, guid: 0be38eb4ce26f964fbc13436457af09a,
type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
@ -793,6 +794,18 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 439503723}
m_CullTransparentMesh: 0
--- !u!114 &439503728
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 439503723}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f40335c1c61c3174dbbae06d39079ae8, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &482350892
GameObject:
m_ObjectHideFlags: 0
@ -871,6 +884,7 @@ GameObject:
- component: {fileID: 496966327}
- component: {fileID: 496966326}
- component: {fileID: 496966325}
- component: {fileID: 496966328}
m_Layer: 5
m_Name: Desc_tmp
m_TagString: Untagged
@ -955,10 +969,10 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: "Select This Piece and Proceed? \r"
m_text: "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E\u0E19\u0E35\u0E49\u0E43\u0E0A\u0E48\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f101d65fcacbc3c4894c0658b75abed3, type: 2}
m_sharedMaterial: {fileID: -329485177201057125, guid: f101d65fcacbc3c4894c0658b75abed3,
m_fontAsset: {fileID: 11400000, guid: 0be38eb4ce26f964fbc13436457af09a, type: 2}
m_sharedMaterial: {fileID: -3540279754479944365, guid: 0be38eb4ce26f964fbc13436457af09a,
type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
@ -1033,6 +1047,18 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 496966323}
m_CullTransparentMesh: 0
--- !u!114 &496966328
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 496966323}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f40335c1c61c3174dbbae06d39079ae8, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1001 &566832344
PrefabInstance:
m_ObjectHideFlags: 0
@ -2005,6 +2031,7 @@ GameObject:
- component: {fileID: 1167499065}
- component: {fileID: 1167499064}
- component: {fileID: 1167499063}
- component: {fileID: 1167499066}
m_Layer: 5
m_Name: common-yes_tmp
m_TagString: Untagged
@ -2089,10 +2116,10 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: Yes, Proceed
m_text: "\u0E43\u0E0A\u0E48 \u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23\u0E15\u0E48\u0E2D"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f101d65fcacbc3c4894c0658b75abed3, type: 2}
m_sharedMaterial: {fileID: -329485177201057125, guid: f101d65fcacbc3c4894c0658b75abed3,
m_fontAsset: {fileID: 11400000, guid: 0be38eb4ce26f964fbc13436457af09a, type: 2}
m_sharedMaterial: {fileID: -3540279754479944365, guid: 0be38eb4ce26f964fbc13436457af09a,
type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
@ -2167,6 +2194,18 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1167499061}
m_CullTransparentMesh: 0
--- !u!114 &1167499066
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1167499061}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f40335c1c61c3174dbbae06d39079ae8, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &1265878378
GameObject:
m_ObjectHideFlags: 0
@ -2996,8 +3035,8 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
mTarget: {fileID: 1167499064}
mAlignment_RTL: 260
mAlignment_LTR: 257
mAlignment_RTL: 514
mAlignment_LTR: 514
mAlignmentWasRTL: 0
mInitializeAlignment: 0
--- !u!1 &1830099065
@ -3095,6 +3134,7 @@ GameObject:
- component: {fileID: 1873270479}
- component: {fileID: 1873270478}
- component: {fileID: 1873270477}
- component: {fileID: 1873270480}
m_Layer: 5
m_Name: Title_tmp
m_TagString: Untagged
@ -3179,10 +3219,10 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: "Select Coloring Piece\r"
m_text: "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E23\u0E30\u0E1A\u0E32\u0E22\u0E2A\u0E35"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f101d65fcacbc3c4894c0658b75abed3, type: 2}
m_sharedMaterial: {fileID: -329485177201057125, guid: f101d65fcacbc3c4894c0658b75abed3,
m_fontAsset: {fileID: 11400000, guid: 0be38eb4ce26f964fbc13436457af09a, type: 2}
m_sharedMaterial: {fileID: -3540279754479944365, guid: 0be38eb4ce26f964fbc13436457af09a,
type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
@ -3213,7 +3253,7 @@ MonoBehaviour:
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 17
m_fontStyle: 16
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
@ -3257,6 +3297,18 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1873270475}
m_CullTransparentMesh: 0
--- !u!114 &1873270480
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1873270475}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f40335c1c61c3174dbbae06d39079ae8, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &1874887931
MonoBehaviour:
m_ObjectHideFlags: 0
@ -3358,8 +3410,8 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
mTarget: {fileID: 496966326}
mAlignment_RTL: 260
mAlignment_LTR: 257
mAlignment_RTL: 514
mAlignment_LTR: 514
mAlignmentWasRTL: 0
mInitializeAlignment: 0
--- !u!1 &1977107978

@ -23,14 +23,14 @@ MonoBehaviour:
Languages:
- ITC Legacy Sans Std Book
- NotoSerifTC-Regular
- NotoSerifThai-Regular
- NotoSansThai-Regular-Adjusted SDF
Flags: 000000
Languages_Touch: []
- Term: font-language
TermType: 9
Description:
Languages:
- NotoSerifThai-Regular
- NotoSansThai-Regular-Adjusted SDF
- ITC Legacy Sans Std Book
- ITC Legacy Sans Std Book
Flags: 000000
@ -41,7 +41,7 @@ MonoBehaviour:
Languages:
- CitrusGothicInline-Regular
-
- NotoSerifThai-Regular
- NotoSansThai-Regular-Adjusted SDF
Flags: 000000
Languages_Touch: []
- Term: text-are-you-done
@ -50,7 +50,7 @@ MonoBehaviour:
Languages:
- Are you done with coloring your work?
- "\u96E2\u958B\u5F8C\u5C07\u7121\u6CD5\u8FD4\u56DE\u4FEE\u6539\r\n\u78BA\u8A8D\u96E2\u958B\u9801\u9762?"
- "\u0E43\u0E0A\u0E48, \u0E42\u0E1B\u0E23\u0E14\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23"
- "\u0E04\u0E38\u0E13\u0E23\u0E30\u0E1A\u0E32\u0E22\u0E2A\u0E35\u0E40\u0E2A\u0E23\u0E47\u0E08\u0E2A\u0E34\u0E49\u0E19\u0E41\u0E25\u0E49\u0E27\u0E43\u0E0A\u0E48\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48"
Flags: 000000
Languages_Touch: []
- Term: text-artwork
@ -77,7 +77,7 @@ MonoBehaviour:
Languages:
- Autograph Your Work
- "\u70BA\u4F60\u7684\u4F5C\u54C1\u7C3D\u540D"
- "\u0E25\u0E32\u0E22\u0E40\u0E0B\u0E19\u0E15\u0E4C\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13\r"
- "\u0E40\u0E0B\u0E47\u0E19\u0E0A\u0E37\u0E48\u0E2D\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13"
Flags: 000000
Languages_Touch: []
- Term: text-cancel
@ -158,7 +158,7 @@ MonoBehaviour:
Languages:
- GOT IT!
- "\u78BA\u8A8D"
- "\u0E23\u0E31\u0E1A\u0E2A\u0E34\u0E19\u0E04\u0E49\u0E32"
- "\u0E23\u0E31\u0E1A\u0E17\u0E23\u0E32\u0E1A"
Flags: 000000
Languages_Touch: []
- Term: text-language
@ -176,7 +176,7 @@ MonoBehaviour:
Languages:
- You are about to leave the coloring page
- "\u60A8\u5373\u5C07\u96E2\u958B\u8457\u8272\u9801\u9762"
- "\u0E04\u0E38\u0E13\u0E23\u0E30\u0E1A\u0E32\u0E22\u0E2A\u0E35\u0E40\u0E2A\u0E23\u0E47\u0E08\u0E2A\u0E34\u0E49\u0E19\u0E41\u0E25\u0E49\u0E27\u0E43\u0E0A\u0E48\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48"
- "\u0E04\u0E38\u0E13\u0E01\u0E33\u0E25\u0E31\u0E07\u0E08\u0E30\u0E2D\u0E2D\u0E01\u0E08\u0E32\u0E01\u0E2A\u0E48\u0E27\u0E19\u0E07\u0E32\u0E19\u0E23\u0E30\u0E1A\u0E32\u0E22\u0E2A\u0E35"
Flags: 000000
Languages_Touch: []
- Term: text-no-go-back
@ -185,7 +185,7 @@ MonoBehaviour:
Languages:
- No, Go Back
- "\u4E0D, \u7E7C\u7E8C\u8457\u8272"
- "\u0E44\u0E21\u0E48\u0E43\u0E0A\u0E48, \u0E42\u0E1B\u0E23\u0E14\u0E22\u0E49\u0E2D\u0E19\u0E01\u0E25\u0E31\u0E1A"
- "\u0E44\u0E21\u0E48\u0E43\u0E0A\u0E48\_ \u0E42\u0E1B\u0E23\u0E14\u0E22\u0E49\u0E2D\u0E19\u0E01\u0E25\u0E31\u0E1A"
Flags: 000000
Languages_Touch: []
- Term: text-notice
@ -203,7 +203,7 @@ MonoBehaviour:
Languages:
- Preview your autograph
- "\u7C3D\u540D\u9810\u89BD"
- "\u0E15\u0E23\u0E27\u0E08\u0E2A\u0E2D\u0E1A\u0E25\u0E32\u0E22\u0E40\u0E0B\u0E19\u0E15\u0E4C\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13"
- "\u0E15\u0E23\u0E27\u0E08\u0E2A\u0E2D\u0E1A\u0E25\u0E32\u0E22\u0E40\u0E0B\u0E47\u0E19\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13"
Flags: 000000
Languages_Touch: []
- Term: text-print
@ -212,7 +212,7 @@ MonoBehaviour:
Languages:
- Print
- "\u5217\u5370"
- "\u0E1E\u0E34\u0E21\u0E1E\u0E4C\u0E20\u0E32\u0E1E"
- "\u0E2A\u0E31\u0E48\u0E07\u0E1E\u0E34\u0E21\u0E1E\u0E4C"
Flags: 000000
Languages_Touch: []
- Term: text-print-code
@ -228,9 +228,9 @@ MonoBehaviour:
TermType: 0
Description:
Languages:
- You can purchase the with the print code at the counter
- You can claim a printed copy with this print code at the counter
- "\u8ACB\u8A18\u4E0B\u60A8\u7684\u5217\u5370\u78BC\uFF0C\u60A8\u53EF\u4EE5\u5728\u5217\u5370\u6A5F\u53F0\u8655\u8CFC\u8CB7\u60A8\u7684\u4F5C\u54C1\u3002"
- "\u0E04\u0E38\u0E13\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E0A\u0E33\u0E23\u0E30\u0E14\u0E49\u0E27\u0E22\u0E23\u0E2B\u0E31\u0E2A\u0E19\u0E35\u0E49\u0E17\u0E35\u0E48\u0E40\u0E04\u0E32\u0E40\u0E15\u0E2D\u0E23\u0E4C"
- "\u0E42\u0E1B\u0E23\u0E14\u0E19\u0E33\u0E23\u0E2B\u0E31\u0E2A\u0E19\u0E35\u0E49\u0E44\u0E1B\u0E17\u0E35\u0E48\u0E40\u0E04\u0E32\u0E40\u0E15\u0E2D\u0E23\u0E4C\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E1E\u0E34\u0E21\u0E1E\u0E4C\u0E20\u0E32\u0E1E"
Flags: 000000
Languages_Touch: []
- Term: text-select
@ -239,7 +239,7 @@ MonoBehaviour:
Languages:
- "Select Coloring Piece\r"
- "\u9078\u64C7\u756B\u7D19"
- "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E0A\u0E34\u0E49\u0E19\u0E07\u0E32\u0E19\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E23\u0E30\u0E1A\u0E32\u0E22\u0E2A\u0E35"
- "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E23\u0E30\u0E1A\u0E32\u0E22\u0E2A\u0E35"
Flags: 000000
Languages_Touch: []
- Term: text-select-or-proceed
@ -248,7 +248,7 @@ MonoBehaviour:
Languages:
- "Select This Piece and Proceed? \r"
- "\u9078\u64C7\u6B64\u5F35\u756B\u7D19\u6A23\u5F0F\r\n\u4E26\u958B\u59CB\u8457\u8272\uFF1F"
- "\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E0A\u0E34\u0E49\u0E19\u0E19\u0E35\u0E49\u0E43\u0E0A\u0E48\u0E2B\u0E23\u0E34\u0E2D\u0E44\u0E21\u0E48?\r"
- "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E\u0E19\u0E35\u0E49\u0E43\u0E0A\u0E48\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48"
Flags: 000000
Languages_Touch: []
- Term: text-start
@ -266,7 +266,7 @@ MonoBehaviour:
Languages:
- Time Left
- "\u64CD\u4F5C\u6642\u9593"
- "\u0E40\u0E27\u0E25\u0E32\u0E17\u0E35\u0E48\u0E40\u0E2B\u0E25\u0E37\u0E2D"
- "\u0E40\u0E27\u0E25\u0E32\u0E04\u0E07\u0E40\u0E2B\u0E25\u0E37\u0E2D"
Flags: 000000
Languages_Touch: []
- Term: text-title
@ -275,7 +275,7 @@ MonoBehaviour:
Languages:
- Coloring
- Coloring
- "\u0E07\u0E32\u0E19\u0E23\u0E30\u0E1A\u0E32\u0E22\u0E2A\u0E35"
- "\u0E23\u0E30\u0E1A\u0E32\u0E22\u0E2A\u0E35"
Flags: 000000
Languages_Touch: []
- Term: text-title-2
@ -293,7 +293,7 @@ MonoBehaviour:
Languages:
- Upload Your Work
- "\u4F5C\u54C1\u4E0A\u50B3"
- "\u0E01\u0E32\u0E23\u0E2D\u0E31\u0E1E\u0E42\u0E2B\u0E25\u0E14\u0E1C\u0E25\u0E07\u0E32\u0E19"
- "\u0E2D\u0E31\u0E1E\u0E42\u0E2B\u0E25\u0E14\u0E1C\u0E25\u0E07\u0E32\u0E19"
Flags: 000000
Languages_Touch: []
- Term: text-upload-comlete
@ -311,7 +311,7 @@ MonoBehaviour:
Languages:
- Yes, Proceed
- "\u662F\u7684, \u96E2\u958B"
- "\u0E43\u0E0A\u0E48, \u0E42\u0E1B\u0E23\u0E14\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23"
- "\u0E43\u0E0A\u0E48 \u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23\u0E15\u0E48\u0E2D"
Flags: 000000
Languages_Touch: []
- Term: text-your-print-code
@ -338,16 +338,20 @@ MonoBehaviour:
Flags: 0
IgnoreDeviceLanguage: 0
_AllowUnloadingLanguages: 0
Google_WebServiceURL: https://script.google.com/a/ultracombos.com/macros/s/AKfycbyk2Yccrnx3EVMkCb9kaAWwCbNhHaaMJ_IHCz4b0Q/exec
Google_WebServiceURL: https://script.google.com/macros/s/AKfycbweo_t30D7jMXOIQ37YCgL4mpENM85R2SSZEUmLwaUNjGn-VvtxxQmEqWGrdjmRzOcrDA/exec
Google_SpreadsheetKey: 1oFdylZscwejvDmC6A168yyoGL6CsoheoavDQYqTzvhI
Google_SpreadsheetName: I2Loc - Frozen2_RoyalGallery_iPad
Google_LastUpdatedVersion: 1669708163275
Google_LastUpdatedVersion: 1679285088981
Google_Password:
GoogleUpdateFrequency: 5
GoogleInEditorCheckFrequency: 5
GoogleUpdateSynchronization: 1
GoogleUpdateDelay: 0
Assets: []
Assets:
- {fileID: 11400000, guid: 9058f67c3876d8d4aa724932c59ddfb7, type: 2}
- {fileID: 11400000, guid: 40d5572d725f19040992b682edd22bfb, type: 2}
- {fileID: 11400000, guid: 4043481f9c581b841b01ef12bc6738ab, type: 2}
- {fileID: 11400000, guid: 0be38eb4ce26f964fbc13436457af09a, type: 2}
Spreadsheet_LocalFileName:
Spreadsheet_LocalCSVSeparator: ','
Spreadsheet_LocalCSVEncoding: utf-8

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 03bb15ef7ad46ec48aff332feb8ce724
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,57 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
using System;
using System.Text;
namespace UltraCombos.Marvel.DrawHeroes
{
public class ThaiAdjust : MonoBehaviour
{
void Start()
{
Debug.Log("start");
fix();
}
void Update()
{
// fix();
}
private string StringToHexString(string s, Encoding encode)
{
byte[] b = encode.GetBytes(s);
string result = string.Empty;
for (int i = 0; i < b.Length; i++)
{
if(i%2==0) result+="\\x";
result += Convert.ToString(b[i], 16);
}
Debug.Log(result);
return result;
}
void fix(){
var current=I2.Loc.LocalizationManager.CurrentLanguage;
// Debug.Log(current);
if(current!="Thai") return;
var text=GetComponent<TMP_Text>();
// string unicodeString=StringToHexString(text.text, Encoding.UTF8);
var adjust=ThaiFontAdjuster.Adjust(text.text);
text.fontStyle ^= FontStyles.Bold;
// text.margin.Set(0,0,-30,0);
text.SetText(adjust);
}
}
}

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: f40335c1c61c3174dbbae06d39079ae8
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,5 @@
fileFormatVersion: 2
guid: c6f56356a2b35684b5f54f789b789d3e
folderAsset: yes
DefaultImporter:
userData:

@ -0,0 +1,5 @@
fileFormatVersion: 2
guid: 8b489cc2a2615db991ab2bfbb37404b6
folderAsset: yes
DefaultImporter:
userData:

@ -0,0 +1,43 @@
{
"Id": "ThaiFontAdjuster",
"Version": "1.0.0",
"Authors": [
"Esun Kim"
],
"Owners": [
"Esun Kim"
],
"Description": "Utility to render Thai text correctly in Unity3D, especially for positioning tone mark.",
"MergedDependencies": {},
"Files": [
"Assets/UnityPackages/ThaiFontAdjuster/ThaiFontAdjuster.cs",
{
"Target": "Assets/UnityPackages/ThaiFontAdjusterDemo/Garuda.ttf",
"Extra": true
},
{
"Target": "Assets/UnityPackages/ThaiFontAdjusterDemo/Kinnari.ttf",
"Extra": true
},
{
"Target": "Assets/UnityPackages/ThaiFontAdjusterDemo/Loma.ttf",
"Extra": true
},
{
"Target": "Assets/UnityPackages/ThaiFontAdjusterDemo/Norasi.ttf",
"Extra": true
},
{
"Target": "Assets/UnityPackages/ThaiFontAdjusterDemo/NotoSansThai-Regular-Adjusted.ttf",
"Extra": true
},
{
"Target": "Assets/UnityPackages/ThaiFontAdjusterDemo/ThaiFontAdjusterDemo.cs",
"Extra": true
},
{
"Target": "Assets/UnityPackages/ThaiFontAdjusterDemo/ThaiFontAdjusterDemo.unity",
"Extra": true
}
]
}

@ -0,0 +1,4 @@
fileFormatVersion: 2
guid: 99091bf107da539aa15945e69a6a41c4
TextScriptImporter:
userData:

@ -0,0 +1,154 @@
using UnityEngine;
using System;
using System.Text;
public static class ThaiFontAdjuster
{
public static bool IsThaiString(string s)
{
var length = s.Length;
for (var i = 0; i < length; i++)
{
var c = s[i];
if (c >= '\x0E00' && c <= '\x0E7F')
return true;
}
return false;
}
// ========== EXTENDED CHARACTER TABLE ==========
// F700: uni0E10.descless (base.descless)
// F701~04: uni0E34~37.left (upper.left)
// F705~09: uni0E48~4C.lowleft (top.lowleft)
// F70A~0E: uni0E48~4C.low (top.low)
// F70F: uni0E0D.descless (base.descless)
// F710~12: uni0E31,4D,47.left (upper.left)
// F713~17: uni0E48~4C.left (top.left)
// F718~1A: uni0E38~3A.low (lower.low)
// ==============================================
public static string Adjust(string s)
{
// http://www.bakoma-tex.com/doc/fonts/enc/c90/c90.pdf
var length = s.Length;
var sb = new StringBuilder(length);
for (var i = 0; i < length; i++)
{
var c = s[i];
// [base] ~ [top]
if (IsTop(c) && i > 0)
{
// [base] [top] -> [base] [top.low]
// [base] [lower] [top] -> [base] [lower] [top.low]
// [base.asc] [top] -> [base.asc] [top.lowleft]
// [base.asc] [lower] [top] -> [base.asc] [lower] [top.lowleft]
var b = s[i - 1];
if (IsLower(b) && i > 1)
b = s[i - 2];
if (IsBase(b))
{
var followingNikhahit = (i < length - 1 && (s[i + 1] == '\x0E33' || s[i + 1] == '\x0E4D'));
if (IsBaseAsc(b))
{
if (followingNikhahit)
{
// [base.asc] [top] [sara am] -> [base.asc] [nikhahit] [top.left] [sara aa]
c = (char)(c + ('\xF713' - '\x0E48'));
sb.Append('\xF711');
sb.Append(c);
if (s[i + 1] == '\x0E33')
sb.Append('\x0E32');
i += 1;
continue;
}
else
{
c = (char)(c + ('\xF705' - '\x0E48'));
}
}
else
{
if (followingNikhahit == false)
c = (char)(c + ('\xF70A' - '\x0E48'));
}
}
// [base.asc] [upper] [top] -> [base.asc] [upper] [top.left]
if (i > 1 && IsUpper(s[i - 1]) && IsBaseAsc(s[i - 2]))
{
c = (char)(c + ('\xF713' - '\x0E48'));
}
}
// [base.asc] [upper] -> [base.asc] [upper-left]
else if (IsUpper(c) && i > 0 && IsBaseAsc(s[i - 1]))
{
switch (c)
{
case '\x0E31': c = '\xF710'; break;
case '\x0E34': c = '\xF701'; break;
case '\x0E35': c = '\xF702'; break;
case '\x0E36': c = '\xF703'; break;
case '\x0E37': c = '\xF704'; break;
case '\x0E4D': c = '\xF711'; break;
case '\x0E47': c = '\xF712'; break;
}
}
// [base.desc] [lower] -> [base.desc] [lower.low]
else if (IsLower(c) && i > 0 && IsBaseDesc(s[i - 1]))
{
c = (char)(c + ('\xF718' - '\x0E38'));
}
// [YO YING] [lower] -> [YO YING w/o lower] [lower]
else if (c == '\x0E0D' && i < length - 1 && IsLower(s[i + 1]))
{
c = '\xF70F';
}
// [THO THAN] [lower] -> [THO THAN w/o lower] [lower]
else if (c == '\x0E10' && i < length - 1 && IsLower(s[i + 1]))
{
c = '\xF700';
}
sb.Append(c);
}
return sb.ToString();
}
private static bool IsBase(char c)
{
return (c >= '\x0E01' && c <= '\x0E2F') || c == '\x0E30' || c == '\x0E40' || c == '\x0E41';
}
private static bool IsBaseDesc(char c)
{
return c == '\x0E0E' || c == '\x0E0F';
}
private static bool IsBaseAsc(char c)
{
return c == '\x0E1B' || c == '\x0E1D' || c == '\x0E1F' || c == '\x0E2C';
}
private static bool IsTop(char c)
{
// Tone Mark, THANTHAKHAT
return c >= '\x0E48' && c <= '\x0E4C';
}
private static bool IsLower(char c)
{
// SARA U, SARA UU, PHINTHU
return c >= '\x0E38' && c <= '\x0E3A';
}
private static bool IsUpper(char c)
{
return c == '\x0E31' || c == '\x0E34' || c == '\x0E35' || c == '\x0E36' ||
c == '\x0E37' || c == '\x0E47' || c == '\x0E4D';
}
}

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 9077f203dcc94c44485127d06287261a
timeCreated: 1454134178
licenseType: Pro
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,5 @@
fileFormatVersion: 2
guid: 68362256183153cb96677309d0c4c4a2
folderAsset: yes
DefaultImporter:
userData:

@ -0,0 +1,19 @@
fileFormatVersion: 2
guid: 150d3e88cbefb184388ba52188cfe2c2
timeCreated: 1454159000
licenseType: Pro
TrueTypeFontImporter:
serializedVersion: 2
fontSize: 16
forceTextureCase: -2
characterSpacing: 1
characterPadding: 0
includeFontData: 1
use2xBehaviour: 0
fontNames: []
fallbackFontReferences: []
customCharacters:
fontRenderingMode: 0
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,19 @@
fileFormatVersion: 2
guid: d1ad354a98fa5f3499d7f24a4214a230
timeCreated: 1454159000
licenseType: Pro
TrueTypeFontImporter:
serializedVersion: 2
fontSize: 16
forceTextureCase: -2
characterSpacing: 1
characterPadding: 0
includeFontData: 1
use2xBehaviour: 0
fontNames: []
fallbackFontReferences: []
customCharacters:
fontRenderingMode: 0
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,19 @@
fileFormatVersion: 2
guid: 673976873f7ccf946b7a36125644fe54
timeCreated: 1454159000
licenseType: Pro
TrueTypeFontImporter:
serializedVersion: 2
fontSize: 16
forceTextureCase: -2
characterSpacing: 1
characterPadding: 0
includeFontData: 1
use2xBehaviour: 0
fontNames: []
fallbackFontReferences: []
customCharacters:
fontRenderingMode: 0
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,19 @@
fileFormatVersion: 2
guid: 14e4f1fd302790444b92953ca92a5d86
timeCreated: 1454159000
licenseType: Pro
TrueTypeFontImporter:
serializedVersion: 2
fontSize: 16
forceTextureCase: -2
characterSpacing: 1
characterPadding: 0
includeFontData: 1
use2xBehaviour: 0
fontNames: []
fallbackFontReferences: []
customCharacters:
fontRenderingMode: 0
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,19 @@
fileFormatVersion: 2
guid: 1bd51dcfff236b949915f17ee6c191bd
timeCreated: 1454139571
licenseType: Pro
TrueTypeFontImporter:
serializedVersion: 2
fontSize: 16
forceTextureCase: -2
characterSpacing: 1
characterPadding: 0
includeFontData: 1
use2xBehaviour: 0
fontNames: []
fallbackFontReferences: []
customCharacters:
fontRenderingMode: 0
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,54 @@
using UnityEngine;
using UnityEngine.UI;
public class ThaiFontAdjusterDemo : MonoBehaviour
{
public Dropdown FontDropdown;
public Font[] Fonts;
public Text OriginalText;
public Text AdjustedText;
private void Start()
{
PrepareFontDropdown();
ShowText();
}
private void PrepareFontDropdown()
{
FontDropdown.options.Clear();
foreach (var font in Fonts)
FontDropdown.options.Add(new Dropdown.OptionData(font.name));
FontDropdown.captionText.text = Fonts[0].name;
}
public void OnFontDropdownValueChange()
{
ShowText();
}
private void ShowText()
{
var s =
"\x0E2A\x0E34\x0E49"+
// top -> top.low
"\x0E01\x0E34 \x0E01\x0E4C \x0E01\x0E38\x0E4C \x0E01\x0E34\x0E4C \x0E01\x0E4C\x0E33".Replace(" ", "") + " " +
// top -> top.lowleft | top.left
"\x0E1B\x0E34 \x0E1B\x0E4C \x0E1B\x0E38\x0E4C \x0E1B\x0E34\x0E4C \x0E1B\x0E4C\x0E33".Replace(" ", "") + " " +
// lower -> lower.low
"\x0E0E\x0E38 \x0E0F\x0E38".Replace(" ", "") + " " +
// base.desclike -> base.descless
"\x0E01\x0E38 \x0E0D\x0E38 \x0E10\x0E38".Replace(" ", "") + " ";
ShowText(s);
}
private void ShowText(string s)
{
var font = Fonts[FontDropdown.value];
OriginalText.font = font;
OriginalText.text = s;
AdjustedText.font = font;
AdjustedText.text = ThaiFontAdjuster.Adjust(s);
}
}

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 43c4fc9f377cbb343a4b9b45e48c9e6d
timeCreated: 1454139706
licenseType: Pro
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 2f2f8582a221c064f8250e4ac00d4c49
timeCreated: 1454139597
licenseType: Pro
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: 8ba36ad26610f0f40bb8c1654c466872
TrueTypeFontImporter:
externalObjects: {}
serializedVersion: 4
fontSize: 16
forceTextureCase: -2
characterSpacing: 0
characterPadding: 1
includeFontData: 1
fontName: Garuda
fontNames:
- Garuda
fallbackFontReferences:
- {fileID: 12800000, guid: 150d3e88cbefb184388ba52188cfe2c2, type: 3}
customCharacters:
fontRenderingMode: 0
ascentCalculationMode: 1
useLegacyBoundsCalculation: 0
shouldRoundAdvanceValue: 1
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: e1c30c39e46f456428320457394073dc
TrueTypeFontImporter:
externalObjects: {}
serializedVersion: 4
fontSize: 16
forceTextureCase: -2
characterSpacing: 0
characterPadding: 1
includeFontData: 1
fontName: Kinnari
fontNames:
- Kinnari
fallbackFontReferences:
- {fileID: 12800000, guid: d1ad354a98fa5f3499d7f24a4214a230, type: 3}
customCharacters:
fontRenderingMode: 0
ascentCalculationMode: 1
useLegacyBoundsCalculation: 0
shouldRoundAdvanceValue: 1
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: 1d797592acb51e04ca8bd18b652accf1
TrueTypeFontImporter:
externalObjects: {}
serializedVersion: 4
fontSize: 16
forceTextureCase: -2
characterSpacing: 0
characterPadding: 1
includeFontData: 1
fontName: Loma
fontNames:
- Loma
fallbackFontReferences:
- {fileID: 12800000, guid: 673976873f7ccf946b7a36125644fe54, type: 3}
customCharacters:
fontRenderingMode: 0
ascentCalculationMode: 1
useLegacyBoundsCalculation: 0
shouldRoundAdvanceValue: 1
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: 0376fe40d46e90e42a1725e33dd1fc4d
TrueTypeFontImporter:
externalObjects: {}
serializedVersion: 4
fontSize: 16
forceTextureCase: -2
characterSpacing: 0
characterPadding: 1
includeFontData: 1
fontName: Norasi
fontNames:
- Norasi
fallbackFontReferences:
- {fileID: 12800000, guid: 14e4f1fd302790444b92953ca92a5d86, type: 3}
customCharacters:
fontRenderingMode: 0
ascentCalculationMode: 1
useLegacyBoundsCalculation: 0
shouldRoundAdvanceValue: 1
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: 4683e0656131bc94a9010467e59dd7ac
TrueTypeFontImporter:
externalObjects: {}
serializedVersion: 4
fontSize: 16
forceTextureCase: -2
characterSpacing: 0
characterPadding: 1
includeFontData: 1
fontName: Noto Sans Thai
fontNames:
- Noto Sans Thai
fallbackFontReferences:
- {fileID: 12800000, guid: 1bd51dcfff236b949915f17ee6c191bd, type: 3}
customCharacters:
fontRenderingMode: 0
ascentCalculationMode: 1
useLegacyBoundsCalculation: 0
shouldRoundAdvanceValue: 1
userData:
assetBundleName:
assetBundleVariant:
Loading…
Cancel
Save