feat: Initial commit
This commit is contained in:
46
Assets/Resources/TMP Settings.asset
Normal file
46
Assets/Resources/TMP Settings.asset
Normal file
@@ -0,0 +1,46 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
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: fab78ea2d673edc40a6dd404991a3764, type: 3}
|
||||
m_Name: TMP Settings
|
||||
m_EditorClassIdentifier:
|
||||
m_TextWrappingMode: 1
|
||||
m_enableKerning: 1
|
||||
m_enableExtraPadding: 0
|
||||
m_enableTintAllSprites: 0
|
||||
m_enableParseEscapeCharacters: 0
|
||||
m_EnableRaycastTarget: 0
|
||||
m_GetFontFeaturesAtRuntime: 1
|
||||
m_missingGlyphCharacter: 0
|
||||
m_ClearDynamicDataOnBuild: 1
|
||||
m_warningsDisabled: 0
|
||||
m_defaultFontAsset: {fileID: 11400000, guid: 2b12354fb2d86744887c3e4bfee63986, type: 2}
|
||||
m_defaultFontAssetPath:
|
||||
m_defaultFontSize: 14
|
||||
m_defaultAutoSizeMinRatio: 0
|
||||
m_defaultAutoSizeMaxRatio: 0
|
||||
m_defaultTextMeshProTextContainerSize: {x: 0, y: 0}
|
||||
m_defaultTextMeshProUITextContainerSize: {x: 0, y: 0}
|
||||
m_autoSizeTextContainer: 0
|
||||
m_IsTextObjectScaleStatic: 0
|
||||
m_fallbackFontAssets: []
|
||||
m_matchMaterialPreset: 0
|
||||
m_HideSubTextObjects: 1
|
||||
m_defaultSpriteAsset: {fileID: 0}
|
||||
m_defaultSpriteAssetPath:
|
||||
m_enableEmojiSupport: 0
|
||||
m_MissingCharacterSpriteUnicode: 0
|
||||
m_defaultColorGradientPresetsPath:
|
||||
m_defaultStyleSheet: {fileID: 0}
|
||||
m_StyleSheetsResourcePath:
|
||||
m_leadingCharacters: {fileID: 4900000, guid: d82c1b31c7e74239bff1220585707d2b, type: 3}
|
||||
m_followingCharacters: {fileID: 4900000, guid: fade42e8bc714b018fac513c043d323b, type: 3}
|
||||
m_UseModernHangulLineBreakingRules: 0
|
8
Assets/Resources/TMP Settings.asset.meta
Normal file
8
Assets/Resources/TMP Settings.asset.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4972abff193472e4bbef2dd0ec07b55e
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
8
Assets/Resources/TextMesh Pro.meta
Normal file
8
Assets/Resources/TextMesh Pro.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f392c542024420b42905557893d859b1
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
8
Assets/Resources/TextMesh Pro/Fonts.meta
Normal file
8
Assets/Resources/TextMesh Pro/Fonts.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1a008d976abb5b24aa36a8a000d9ebb6
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because one or more lines are too long
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2b12354fb2d86744887c3e4bfee63986
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 35400ee909f32d94f9901006d051135c
|
||||
TrueTypeFontImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 4
|
||||
fontSize: 16
|
||||
forceTextureCase: -2
|
||||
characterSpacing: 0
|
||||
characterPadding: 1
|
||||
includeFontData: 1
|
||||
fontNames:
|
||||
- Noto Sans
|
||||
fallbackFontReferences: []
|
||||
customCharacters:
|
||||
fontRenderingMode: 0
|
||||
ascentCalculationMode: 1
|
||||
useLegacyBoundsCalculation: 0
|
||||
shouldRoundAdvanceValue: 1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
93
Assets/Resources/TextMesh Pro/Fonts/OFL.txt
Normal file
93
Assets/Resources/TextMesh Pro/Fonts/OFL.txt
Normal file
@@ -0,0 +1,93 @@
|
||||
Copyright 2022 The Noto Project Authors (https://github.com/notofonts/latin-greek-cyrillic)
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
https://openfontlicense.org
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
7
Assets/Resources/TextMesh Pro/Fonts/OFL.txt.meta
Normal file
7
Assets/Resources/TextMesh Pro/Fonts/OFL.txt.meta
Normal file
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 42632c789aa9b7e47b17c77a4663f14d
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -0,0 +1 @@
|
||||
)]}〕〉》」』】〙〗〟’”⦆»ヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻‐゠–〜?!‼⁇⁈⁉・、%,.:;。!?]):;=}¢°"†‡℃〆%,.
|
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fade42e8bc714b018fac513c043d323b
|
||||
timeCreated: 1425440388
|
||||
licenseType: Store
|
||||
TextScriptImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -0,0 +1 @@
|
||||
([{〔〈《「『【〘〖〝‘“⦅«$—…‥〳〴〵\[({£¥"々〇$¥₩ #
|
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d82c1b31c7e74239bff1220585707d2b
|
||||
timeCreated: 1425440388
|
||||
licenseType: Store
|
||||
TextScriptImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
8
Assets/Resources/TextMesh Pro/Shaders.meta
Normal file
8
Assets/Resources/TextMesh Pro/Shaders.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e9f693669af91aa45ad615fc681ed29f
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
178
Assets/Resources/TextMesh Pro/Shaders/SDFFunctions.hlsl
Normal file
178
Assets/Resources/TextMesh Pro/Shaders/SDFFunctions.hlsl
Normal file
@@ -0,0 +1,178 @@
|
||||
float2 UnpackUV(float uv)
|
||||
{
|
||||
float2 output;
|
||||
output.x = floor(uv / 4096.0);
|
||||
output.y = uv - 4096.0 * output.x;
|
||||
|
||||
return output * 0.001953125;
|
||||
}
|
||||
|
||||
float4 BlendARGB(float4 overlying, float4 underlying)
|
||||
{
|
||||
overlying.rgb *= overlying.a;
|
||||
underlying.rgb *= underlying.a;
|
||||
float3 blended = overlying.rgb + ((1 - overlying.a) * underlying.rgb);
|
||||
float alpha = underlying.a + (1 - underlying.a) * overlying.a;
|
||||
return float4(blended / alpha, alpha);
|
||||
}
|
||||
|
||||
float3 GetSpecular(float3 n, float3 l)
|
||||
{
|
||||
float spec = pow(max(0.0, dot(n, l)), _Reflectivity);
|
||||
return _SpecularColor.rgb * spec * _SpecularPower;
|
||||
}
|
||||
|
||||
void GetSurfaceNormal_float(texture2D atlas, float textureWidth, float textureHeight, float2 uv, bool isFront, out float3 nornmal)
|
||||
{
|
||||
float3 delta = float3(1.0 / textureWidth, 1.0 / textureHeight, 0.0);
|
||||
|
||||
// Read "height field"
|
||||
float4 h = float4(
|
||||
SAMPLE_TEXTURE2D(atlas, SamplerState_Linear_Clamp, uv - delta.xz).a,
|
||||
SAMPLE_TEXTURE2D(atlas, SamplerState_Linear_Clamp, uv + delta.xz).a,
|
||||
SAMPLE_TEXTURE2D(atlas, SamplerState_Linear_Clamp, uv - delta.zy).a,
|
||||
SAMPLE_TEXTURE2D(atlas, SamplerState_Linear_Clamp, uv + delta.zy).a);
|
||||
|
||||
bool raisedBevel = _BevelType;
|
||||
|
||||
h += _BevelOffset;
|
||||
|
||||
float bevelWidth = max(.01, _BevelWidth);
|
||||
|
||||
// Track outline
|
||||
h -= .5;
|
||||
h /= bevelWidth;
|
||||
h = saturate(h + .5);
|
||||
|
||||
if (raisedBevel) h = 1 - abs(h * 2.0 - 1.0);
|
||||
h = lerp(h, sin(h * 3.141592 / 2.0), float4(_BevelRoundness, _BevelRoundness, _BevelRoundness, _BevelRoundness));
|
||||
h = min(h, 1.0 - float4(_BevelClamp, _BevelClamp, _BevelClamp, _BevelClamp));
|
||||
h *= _BevelAmount * bevelWidth * _GradientScale * -2.0;
|
||||
|
||||
float3 va = normalize(float3(-1.0, 0.0, h.y - h.x));
|
||||
float3 vb = normalize(float3(0.0, 1.0, h.w - h.z));
|
||||
|
||||
float3 f = float3(1, 1, 1);
|
||||
if (isFront) f = float3(1, 1, -1);
|
||||
nornmal = cross(va, vb) * f;
|
||||
}
|
||||
|
||||
void EvaluateLight_float(float4 faceColor, float3 n, out float4 color)
|
||||
{
|
||||
n.z = abs(n.z);
|
||||
float3 light = normalize(float3(sin(_LightAngle), cos(_LightAngle), 1.0));
|
||||
|
||||
float3 col = max(faceColor.rgb, 0) + GetSpecular(n, light)* faceColor.a;
|
||||
//faceColor.rgb += col * faceColor.a;
|
||||
col *= 1 - (dot(n, light) * _Diffuse);
|
||||
col *= lerp(_Ambient, 1, n.z * n.z);
|
||||
|
||||
//fixed4 reflcol = texCUBE(_Cube, reflect(input.viewDir, -n));
|
||||
//faceColor.rgb += reflcol.rgb * lerp(_ReflectFaceColor.rgb, _ReflectOutlineColor.rgb, saturate(sd + outline * 0.5)) * faceColor.a;
|
||||
|
||||
color = float4(col, faceColor.a);
|
||||
}
|
||||
|
||||
// Add custom function to handle time in HDRP
|
||||
|
||||
|
||||
//
|
||||
void GenerateUV_float(float2 inUV, float4 transform, float2 animSpeed, out float2 outUV)
|
||||
{
|
||||
outUV = inUV * transform.xy + transform.zw + (animSpeed * _Time.y);
|
||||
}
|
||||
|
||||
void ComputeUVOffset_float(float texWidth, float texHeight, float2 offset, float SDR, out float2 uvOffset)
|
||||
{
|
||||
uvOffset = float2(-offset.x * SDR / texWidth, -offset.y * SDR / texHeight);
|
||||
}
|
||||
|
||||
void ScreenSpaceRatio2_float(float4x4 projection, float4 position, float2 objectScale, float screenWidth, float screenHeight, float fontScale, out float SSR)
|
||||
{
|
||||
float2 pixelSize = position.w;
|
||||
pixelSize /= (objectScale * mul((float2x2)projection, float2(screenWidth, screenHeight)));
|
||||
SSR = rsqrt(dot(pixelSize, pixelSize)*2) * fontScale;
|
||||
}
|
||||
|
||||
// UV : Texture coordinate of the source distance field texture
|
||||
// TextureSize : Size of the source distance field texture
|
||||
// Filter : Enable perspective filter (soften)
|
||||
void ScreenSpaceRatio_float(float2 UV, float TextureSize, bool Filter, out float SSR)
|
||||
{
|
||||
if(Filter)
|
||||
{
|
||||
float2 a = float2(ddx(UV.x), ddy(UV.x));
|
||||
float2 b = float2(ddx(UV.y), ddy(UV.y));
|
||||
float s = lerp(dot(a,a), dot(b,b), 0.5);
|
||||
SSR = rsqrt(s) / TextureSize;
|
||||
}
|
||||
else
|
||||
{
|
||||
float s = rsqrt(abs(ddx(UV.x) * ddy(UV.y) - ddy(UV.x) * ddx(UV.y)));
|
||||
SSR = s / TextureSize;
|
||||
}
|
||||
}
|
||||
|
||||
// SSR : Screen Space Ratio
|
||||
// SD : Signed Distance (encoded : Distance / SDR + .5)
|
||||
// SDR : Signed Distance Ratio
|
||||
//
|
||||
// IsoPerimeter : Dilate / Contract the shape
|
||||
void ComputeSDF_float(float SSR, float SD, float SDR, float isoPerimeter, float softness, out float outAlpha)
|
||||
{
|
||||
softness *= SSR * SDR;
|
||||
float d = (SD - 0.5) * SDR; // Signed distance to edge, in Texture space
|
||||
outAlpha = saturate((d * 2.0 * SSR + 0.5 + isoPerimeter * SDR * SSR + softness * 0.5) / (1.0 + softness)); // Screen pixel coverage (alpha)
|
||||
}
|
||||
|
||||
void ComputeSDF2_float(float SSR, float SD, float SDR, float2 isoPerimeter, float2 softness, out float2 outAlpha)
|
||||
{
|
||||
softness *= SSR * SDR;
|
||||
float d = (SD - 0.5f) * SDR;
|
||||
outAlpha = saturate((d * 2.0f * SSR + 0.5f + isoPerimeter * SDR * SSR + softness * 0.5) / (1.0 + softness));
|
||||
}
|
||||
|
||||
void ComputeSDF4_float(float SSR, float SD, float SDR, float4 isoPerimeter, float4 softness, out float4 outAlpha)
|
||||
{
|
||||
softness *= SSR * SDR;
|
||||
float d = (SD - 0.5f) * SDR;
|
||||
outAlpha = saturate((d * 2.0f * SSR + 0.5f + isoPerimeter * SDR * SSR + softness * 0.5) / (1.0 + softness));
|
||||
}
|
||||
|
||||
void ComputeSDF44_float(float SSR, float4 SD, float SDR, float4 isoPerimeter, float4 softness, bool outline, out float4 outAlpha)
|
||||
{
|
||||
softness *= SSR * SDR;
|
||||
float4 d = (SD - 0.5f) * SDR;
|
||||
if(outline) d.w = max(max(d.x, d.y), d.z);
|
||||
outAlpha = saturate((d * 2.0f * SSR + 0.5f + isoPerimeter * SDR * SSR + softness * 0.5) / (1.0 + softness));
|
||||
}
|
||||
|
||||
void Composite_float(float4 overlying, float4 underlying, out float4 outColor)
|
||||
{
|
||||
outColor = BlendARGB(overlying, underlying);
|
||||
}
|
||||
|
||||
// Face only
|
||||
void Layer1_float(float alpha, float4 color0, out float4 outColor)
|
||||
{
|
||||
color0.a *= alpha;
|
||||
outColor = color0;
|
||||
}
|
||||
|
||||
// Face + 1 Outline
|
||||
void Layer2_float(float2 alpha, float4 color0, float4 color1, out float4 outColor)
|
||||
{
|
||||
color1.a *= alpha.y;
|
||||
color0.rgb *= color0.a; color1.rgb *= color1.a;
|
||||
outColor = lerp(color1, color0, alpha.x);
|
||||
outColor.rgb /= outColor.a;
|
||||
}
|
||||
|
||||
// Face + 3 Outline
|
||||
void Layer4_float(float4 alpha, float4 color0, float4 color1, float4 color2, float4 color3, out float4 outColor)
|
||||
{
|
||||
color3.a *= alpha.w;
|
||||
color0.rgb *= color0.a; color1.rgb *= color1.a; color2.rgb *= color2.a; color3.rgb *= color3.a;
|
||||
outColor = lerp(lerp(lerp(color3, color2, alpha.z), color1, alpha.y), color0, alpha.x);
|
||||
outColor.rgb /= outColor.a;
|
||||
}
|
10
Assets/Resources/TextMesh Pro/Shaders/SDFFunctions.hlsl.meta
Normal file
10
Assets/Resources/TextMesh Pro/Shaders/SDFFunctions.hlsl.meta
Normal file
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 96de908384869cd409c75efa351d5edf
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
preprocessorOverride: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -0,0 +1,139 @@
|
||||
Shader "TextMeshPro/Bitmap Custom Atlas" {
|
||||
|
||||
Properties {
|
||||
_MainTex ("Font Atlas", 2D) = "white" {}
|
||||
_FaceTex ("Font Texture", 2D) = "white" {}
|
||||
_FaceColor ("Text Color", Color) = (1,1,1,1)
|
||||
|
||||
_VertexOffsetX ("Vertex OffsetX", float) = 0
|
||||
_VertexOffsetY ("Vertex OffsetY", float) = 0
|
||||
_MaskSoftnessX ("Mask SoftnessX", float) = 0
|
||||
_MaskSoftnessY ("Mask SoftnessY", float) = 0
|
||||
|
||||
_ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767)
|
||||
_Padding ("Padding", float) = 0
|
||||
|
||||
_StencilComp ("Stencil Comparison", Float) = 8
|
||||
_Stencil ("Stencil ID", Float) = 0
|
||||
_StencilOp ("Stencil Operation", Float) = 0
|
||||
_StencilWriteMask ("Stencil Write Mask", Float) = 255
|
||||
_StencilReadMask ("Stencil Read Mask", Float) = 255
|
||||
|
||||
_CullMode ("Cull Mode", Float) = 0
|
||||
_ColorMask ("Color Mask", Float) = 15
|
||||
}
|
||||
|
||||
SubShader{
|
||||
|
||||
Tags { "Queue" = "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent" }
|
||||
|
||||
Stencil
|
||||
{
|
||||
Ref[_Stencil]
|
||||
Comp[_StencilComp]
|
||||
Pass[_StencilOp]
|
||||
ReadMask[_StencilReadMask]
|
||||
WriteMask[_StencilWriteMask]
|
||||
}
|
||||
|
||||
|
||||
Lighting Off
|
||||
Cull [_CullMode]
|
||||
ZTest [unity_GUIZTestMode]
|
||||
ZWrite Off
|
||||
Fog { Mode Off }
|
||||
Blend SrcAlpha OneMinusSrcAlpha
|
||||
ColorMask[_ColorMask]
|
||||
|
||||
Pass {
|
||||
CGPROGRAM
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
|
||||
#pragma multi_compile __ UNITY_UI_CLIP_RECT
|
||||
#pragma multi_compile __ UNITY_UI_ALPHACLIP
|
||||
|
||||
|
||||
#include "UnityCG.cginc"
|
||||
|
||||
struct appdata_t
|
||||
{
|
||||
float4 vertex : POSITION;
|
||||
fixed4 color : COLOR;
|
||||
float4 texcoord0 : TEXCOORD0;
|
||||
float2 texcoord1 : TEXCOORD1;
|
||||
};
|
||||
|
||||
struct v2f
|
||||
{
|
||||
float4 vertex : SV_POSITION;
|
||||
fixed4 color : COLOR;
|
||||
float2 texcoord0 : TEXCOORD0;
|
||||
float2 texcoord1 : TEXCOORD1;
|
||||
float4 mask : TEXCOORD2;
|
||||
};
|
||||
|
||||
uniform sampler2D _MainTex;
|
||||
uniform sampler2D _FaceTex;
|
||||
uniform float4 _FaceTex_ST;
|
||||
uniform fixed4 _FaceColor;
|
||||
|
||||
uniform float _VertexOffsetX;
|
||||
uniform float _VertexOffsetY;
|
||||
uniform float4 _ClipRect;
|
||||
uniform float _MaskSoftnessX;
|
||||
uniform float _MaskSoftnessY;
|
||||
uniform float _UIMaskSoftnessX;
|
||||
uniform float _UIMaskSoftnessY;
|
||||
|
||||
v2f vert (appdata_t v)
|
||||
{
|
||||
float4 vert = v.vertex;
|
||||
vert.x += _VertexOffsetX;
|
||||
vert.y += _VertexOffsetY;
|
||||
|
||||
vert.xy += (vert.w * 0.5) / _ScreenParams.xy;
|
||||
|
||||
float4 vPosition = UnityPixelSnap(UnityObjectToClipPos(vert));
|
||||
|
||||
fixed4 faceColor = v.color;
|
||||
faceColor *= _FaceColor;
|
||||
|
||||
v2f OUT;
|
||||
OUT.vertex = vPosition;
|
||||
OUT.color = faceColor;
|
||||
OUT.texcoord0 = v.texcoord0;
|
||||
OUT.texcoord1 = TRANSFORM_TEX(v.texcoord1, _FaceTex);
|
||||
float2 pixelSize = vPosition.w;
|
||||
pixelSize /= abs(float2(_ScreenParams.x * UNITY_MATRIX_P[0][0], _ScreenParams.y * UNITY_MATRIX_P[1][1]));
|
||||
|
||||
// Clamp _ClipRect to 16bit.
|
||||
const float4 clampedRect = clamp(_ClipRect, -2e10, 2e10);
|
||||
const half2 maskSoftness = half2(max(_UIMaskSoftnessX, _MaskSoftnessX), max(_UIMaskSoftnessY, _MaskSoftnessY));
|
||||
OUT.mask = float4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * maskSoftness + pixelSize.xy));
|
||||
|
||||
return OUT;
|
||||
}
|
||||
|
||||
fixed4 frag (v2f IN) : SV_Target
|
||||
{
|
||||
fixed4 color = tex2D(_MainTex, IN.texcoord0) * tex2D(_FaceTex, IN.texcoord1) * IN.color;
|
||||
|
||||
// Alternative implementation to UnityGet2DClipping with support for softness.
|
||||
#if UNITY_UI_CLIP_RECT
|
||||
half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(IN.mask.xy)) * IN.mask.zw);
|
||||
color *= m.x * m.y;
|
||||
#endif
|
||||
|
||||
#if UNITY_UI_ALPHACLIP
|
||||
clip(color.a - 0.001);
|
||||
#endif
|
||||
|
||||
return color;
|
||||
}
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
|
||||
CustomEditor "TMPro.EditorUtilities.TMP_BitmapShaderGUI"
|
||||
}
|
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 48bb5f55d8670e349b6e614913f9d910
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
150
Assets/Resources/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader
Normal file
150
Assets/Resources/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader
Normal file
@@ -0,0 +1,150 @@
|
||||
Shader "TextMeshPro/Mobile/Bitmap" {
|
||||
|
||||
Properties {
|
||||
_MainTex ("Font Atlas", 2D) = "white" {}
|
||||
_Color ("Text Color", Color) = (1,1,1,1)
|
||||
_DiffusePower ("Diffuse Power", Range(1.0,4.0)) = 1.0
|
||||
|
||||
_VertexOffsetX ("Vertex OffsetX", float) = 0
|
||||
_VertexOffsetY ("Vertex OffsetY", float) = 0
|
||||
_MaskSoftnessX ("Mask SoftnessX", float) = 0
|
||||
_MaskSoftnessY ("Mask SoftnessY", float) = 0
|
||||
|
||||
_ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767)
|
||||
|
||||
_StencilComp ("Stencil Comparison", Float) = 8
|
||||
_Stencil ("Stencil ID", Float) = 0
|
||||
_StencilOp ("Stencil Operation", Float) = 0
|
||||
_StencilWriteMask ("Stencil Write Mask", Float) = 255
|
||||
_StencilReadMask ("Stencil Read Mask", Float) = 255
|
||||
|
||||
_CullMode ("Cull Mode", Float) = 0
|
||||
_ColorMask ("Color Mask", Float) = 15
|
||||
}
|
||||
|
||||
SubShader {
|
||||
|
||||
Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" }
|
||||
|
||||
Stencil
|
||||
{
|
||||
Ref[_Stencil]
|
||||
Comp[_StencilComp]
|
||||
Pass[_StencilOp]
|
||||
ReadMask[_StencilReadMask]
|
||||
WriteMask[_StencilWriteMask]
|
||||
}
|
||||
|
||||
|
||||
Lighting Off
|
||||
Cull [_CullMode]
|
||||
ZTest [unity_GUIZTestMode]
|
||||
ZWrite Off
|
||||
Fog { Mode Off }
|
||||
Blend SrcAlpha OneMinusSrcAlpha
|
||||
ColorMask[_ColorMask]
|
||||
|
||||
Pass {
|
||||
CGPROGRAM
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
#pragma fragmentoption ARB_precision_hint_fastest
|
||||
|
||||
#pragma multi_compile __ UNITY_UI_CLIP_RECT
|
||||
#pragma multi_compile __ UNITY_UI_ALPHACLIP
|
||||
|
||||
|
||||
#include "UnityCG.cginc"
|
||||
|
||||
struct appdata_t
|
||||
{
|
||||
float4 vertex : POSITION;
|
||||
fixed4 color : COLOR;
|
||||
float2 texcoord0 : TEXCOORD0;
|
||||
float2 texcoord1 : TEXCOORD1;
|
||||
};
|
||||
|
||||
struct v2f
|
||||
{
|
||||
float4 vertex : POSITION;
|
||||
fixed4 color : COLOR;
|
||||
float2 texcoord0 : TEXCOORD0;
|
||||
float4 mask : TEXCOORD2;
|
||||
};
|
||||
|
||||
sampler2D _MainTex;
|
||||
fixed4 _Color;
|
||||
float _DiffusePower;
|
||||
|
||||
uniform float _VertexOffsetX;
|
||||
uniform float _VertexOffsetY;
|
||||
uniform float4 _ClipRect;
|
||||
uniform float _MaskSoftnessX;
|
||||
uniform float _MaskSoftnessY;
|
||||
uniform float _UIMaskSoftnessX;
|
||||
uniform float _UIMaskSoftnessY;
|
||||
|
||||
v2f vert (appdata_t v)
|
||||
{
|
||||
v2f OUT;
|
||||
float4 vert = v.vertex;
|
||||
vert.x += _VertexOffsetX;
|
||||
vert.y += _VertexOffsetY;
|
||||
|
||||
vert.xy += (vert.w * 0.5) / _ScreenParams.xy;
|
||||
|
||||
OUT.vertex = UnityPixelSnap(UnityObjectToClipPos(vert));
|
||||
OUT.color = v.color;
|
||||
OUT.color *= _Color;
|
||||
OUT.color.rgb *= _DiffusePower;
|
||||
OUT.texcoord0 = v.texcoord0;
|
||||
|
||||
float2 pixelSize = OUT.vertex.w;
|
||||
//pixelSize /= abs(float2(_ScreenParams.x * UNITY_MATRIX_P[0][0], _ScreenParams.y * UNITY_MATRIX_P[1][1]));
|
||||
|
||||
// Clamp _ClipRect to 16bit.
|
||||
const float4 clampedRect = clamp(_ClipRect, -2e10, 2e10);
|
||||
const half2 maskSoftness = half2(max(_UIMaskSoftnessX, _MaskSoftnessX), max(_UIMaskSoftnessY, _MaskSoftnessY));
|
||||
OUT.mask = float4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * maskSoftness + pixelSize.xy));
|
||||
|
||||
return OUT;
|
||||
}
|
||||
|
||||
fixed4 frag (v2f IN) : COLOR
|
||||
{
|
||||
fixed4 color = fixed4(IN.color.rgb, IN.color.a * tex2D(_MainTex, IN.texcoord0).a);
|
||||
|
||||
// Alternative implementation to UnityGet2DClipping with support for softness.
|
||||
#if UNITY_UI_CLIP_RECT
|
||||
half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(IN.mask.xy)) * IN.mask.zw);
|
||||
color *= m.x * m.y;
|
||||
#endif
|
||||
|
||||
#if UNITY_UI_ALPHACLIP
|
||||
clip(color.a - 0.001);
|
||||
#endif
|
||||
|
||||
return color;
|
||||
}
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
|
||||
SubShader {
|
||||
Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" }
|
||||
Lighting Off Cull Off ZTest Always ZWrite Off Fog { Mode Off }
|
||||
Blend SrcAlpha OneMinusSrcAlpha
|
||||
BindChannels {
|
||||
Bind "Color", color
|
||||
Bind "Vertex", vertex
|
||||
Bind "TexCoord", texcoord0
|
||||
}
|
||||
Pass {
|
||||
SetTexture [_MainTex] {
|
||||
constantColor [_Color] combine constant * primary, constant * texture
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
CustomEditor "TMPro.EditorUtilities.TMP_BitmapShaderGUI"
|
||||
}
|
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1e3b057af24249748ff873be7fafee47
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
139
Assets/Resources/TextMesh Pro/Shaders/TMP_Bitmap.shader
Normal file
139
Assets/Resources/TextMesh Pro/Shaders/TMP_Bitmap.shader
Normal file
@@ -0,0 +1,139 @@
|
||||
Shader "TextMeshPro/Bitmap" {
|
||||
|
||||
Properties {
|
||||
_MainTex ("Font Atlas", 2D) = "white" {}
|
||||
_FaceTex ("Font Texture", 2D) = "white" {}
|
||||
_FaceColor ("Text Color", Color) = (1,1,1,1)
|
||||
|
||||
_VertexOffsetX ("Vertex OffsetX", float) = 0
|
||||
_VertexOffsetY ("Vertex OffsetY", float) = 0
|
||||
_MaskSoftnessX ("Mask SoftnessX", float) = 0
|
||||
_MaskSoftnessY ("Mask SoftnessY", float) = 0
|
||||
|
||||
_ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767)
|
||||
|
||||
_StencilComp ("Stencil Comparison", Float) = 8
|
||||
_Stencil ("Stencil ID", Float) = 0
|
||||
_StencilOp ("Stencil Operation", Float) = 0
|
||||
_StencilWriteMask ("Stencil Write Mask", Float) = 255
|
||||
_StencilReadMask ("Stencil Read Mask", Float) = 255
|
||||
|
||||
_CullMode ("Cull Mode", Float) = 0
|
||||
_ColorMask ("Color Mask", Float) = 15
|
||||
}
|
||||
|
||||
SubShader{
|
||||
|
||||
Tags { "Queue" = "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent" }
|
||||
|
||||
Stencil
|
||||
{
|
||||
Ref[_Stencil]
|
||||
Comp[_StencilComp]
|
||||
Pass[_StencilOp]
|
||||
ReadMask[_StencilReadMask]
|
||||
WriteMask[_StencilWriteMask]
|
||||
}
|
||||
|
||||
|
||||
Lighting Off
|
||||
Cull [_CullMode]
|
||||
ZTest [unity_GUIZTestMode]
|
||||
ZWrite Off
|
||||
Fog { Mode Off }
|
||||
Blend SrcAlpha OneMinusSrcAlpha
|
||||
ColorMask[_ColorMask]
|
||||
|
||||
Pass {
|
||||
CGPROGRAM
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
|
||||
#pragma multi_compile __ UNITY_UI_CLIP_RECT
|
||||
#pragma multi_compile __ UNITY_UI_ALPHACLIP
|
||||
|
||||
|
||||
#include "UnityCG.cginc"
|
||||
|
||||
struct appdata_t
|
||||
{
|
||||
float4 vertex : POSITION;
|
||||
fixed4 color : COLOR;
|
||||
float4 texcoord0 : TEXCOORD0;
|
||||
float2 texcoord1 : TEXCOORD1;
|
||||
};
|
||||
|
||||
struct v2f
|
||||
{
|
||||
float4 vertex : SV_POSITION;
|
||||
fixed4 color : COLOR;
|
||||
float2 texcoord0 : TEXCOORD0;
|
||||
float2 texcoord1 : TEXCOORD1;
|
||||
float4 mask : TEXCOORD2;
|
||||
};
|
||||
|
||||
uniform sampler2D _MainTex;
|
||||
uniform sampler2D _FaceTex;
|
||||
uniform float4 _FaceTex_ST;
|
||||
uniform fixed4 _FaceColor;
|
||||
|
||||
uniform float _VertexOffsetX;
|
||||
uniform float _VertexOffsetY;
|
||||
uniform float4 _ClipRect;
|
||||
uniform float _MaskSoftnessX;
|
||||
uniform float _MaskSoftnessY;
|
||||
uniform float _UIMaskSoftnessX;
|
||||
uniform float _UIMaskSoftnessY;
|
||||
|
||||
v2f vert (appdata_t v)
|
||||
{
|
||||
float4 vert = v.vertex;
|
||||
vert.x += _VertexOffsetX;
|
||||
vert.y += _VertexOffsetY;
|
||||
|
||||
vert.xy += (vert.w * 0.5) / _ScreenParams.xy;
|
||||
|
||||
float4 vPosition = UnityPixelSnap(UnityObjectToClipPos(vert));
|
||||
|
||||
fixed4 faceColor = v.color;
|
||||
faceColor *= _FaceColor;
|
||||
|
||||
v2f OUT;
|
||||
OUT.vertex = vPosition;
|
||||
OUT.color = faceColor;
|
||||
OUT.texcoord0 = v.texcoord0;
|
||||
OUT.texcoord1 = TRANSFORM_TEX(v.texcoord1, _FaceTex);
|
||||
float2 pixelSize = vPosition.w;
|
||||
pixelSize /= abs(float2(_ScreenParams.x * UNITY_MATRIX_P[0][0], _ScreenParams.y * UNITY_MATRIX_P[1][1]));
|
||||
|
||||
// Clamp _ClipRect to 16bit.
|
||||
const float4 clampedRect = clamp(_ClipRect, -2e10, 2e10);
|
||||
const half2 maskSoftness = half2(max(_UIMaskSoftnessX, _MaskSoftnessX), max(_UIMaskSoftnessY, _MaskSoftnessY));
|
||||
OUT.mask = float4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * maskSoftness + pixelSize.xy));
|
||||
|
||||
return OUT;
|
||||
}
|
||||
|
||||
fixed4 frag (v2f IN) : SV_Target
|
||||
{
|
||||
fixed4 color = tex2D(_MainTex, IN.texcoord0);
|
||||
color = fixed4 (tex2D(_FaceTex, IN.texcoord1).rgb * IN.color.rgb, IN.color.a * color.a);
|
||||
|
||||
// Alternative implementation to UnityGet2DClipping with support for softness.
|
||||
#if UNITY_UI_CLIP_RECT
|
||||
half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(IN.mask.xy)) * IN.mask.zw);
|
||||
color *= m.x * m.y;
|
||||
#endif
|
||||
|
||||
#if UNITY_UI_ALPHACLIP
|
||||
clip(color.a - 0.001);
|
||||
#endif
|
||||
|
||||
return color;
|
||||
}
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
|
||||
CustomEditor "TMPro.EditorUtilities.TMP_BitmapShaderGUI"
|
||||
}
|
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 128e987d567d4e2c824d754223b3f3b0
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
321
Assets/Resources/TextMesh Pro/Shaders/TMP_SDF Overlay.shader
Normal file
321
Assets/Resources/TextMesh Pro/Shaders/TMP_SDF Overlay.shader
Normal file
@@ -0,0 +1,321 @@
|
||||
Shader "TextMeshPro/Distance Field Overlay" {
|
||||
|
||||
Properties {
|
||||
_FaceTex ("Face Texture", 2D) = "white" {}
|
||||
_FaceUVSpeedX ("Face UV Speed X", Range(-5, 5)) = 0.0
|
||||
_FaceUVSpeedY ("Face UV Speed Y", Range(-5, 5)) = 0.0
|
||||
_FaceColor ("Face Color", Color) = (1,1,1,1)
|
||||
_FaceDilate ("Face Dilate", Range(-1,1)) = 0
|
||||
|
||||
_OutlineColor ("Outline Color", Color) = (0,0,0,1)
|
||||
_OutlineTex ("Outline Texture", 2D) = "white" {}
|
||||
_OutlineUVSpeedX ("Outline UV Speed X", Range(-5, 5)) = 0.0
|
||||
_OutlineUVSpeedY ("Outline UV Speed Y", Range(-5, 5)) = 0.0
|
||||
_OutlineWidth ("Outline Thickness", Range(0, 1)) = 0
|
||||
_OutlineSoftness ("Outline Softness", Range(0,1)) = 0
|
||||
|
||||
_Bevel ("Bevel", Range(0,1)) = 0.5
|
||||
_BevelOffset ("Bevel Offset", Range(-0.5,0.5)) = 0
|
||||
_BevelWidth ("Bevel Width", Range(-.5,0.5)) = 0
|
||||
_BevelClamp ("Bevel Clamp", Range(0,1)) = 0
|
||||
_BevelRoundness ("Bevel Roundness", Range(0,1)) = 0
|
||||
|
||||
_LightAngle ("Light Angle", Range(0.0, 6.2831853)) = 3.1416
|
||||
_SpecularColor ("Specular", Color) = (1,1,1,1)
|
||||
_SpecularPower ("Specular", Range(0,4)) = 2.0
|
||||
_Reflectivity ("Reflectivity", Range(5.0,15.0)) = 10
|
||||
_Diffuse ("Diffuse", Range(0,1)) = 0.5
|
||||
_Ambient ("Ambient", Range(1,0)) = 0.5
|
||||
|
||||
_BumpMap ("Normal map", 2D) = "bump" {}
|
||||
_BumpOutline ("Bump Outline", Range(0,1)) = 0
|
||||
_BumpFace ("Bump Face", Range(0,1)) = 0
|
||||
|
||||
_ReflectFaceColor ("Reflection Color", Color) = (0,0,0,1)
|
||||
_ReflectOutlineColor("Reflection Color", Color) = (0,0,0,1)
|
||||
_Cube ("Reflection Cubemap", Cube) = "black" { /* TexGen CubeReflect */ }
|
||||
_EnvMatrixRotation ("Texture Rotation", vector) = (0, 0, 0, 0)
|
||||
|
||||
|
||||
_UnderlayColor ("Border Color", Color) = (0,0,0, 0.5)
|
||||
_UnderlayOffsetX ("Border OffsetX", Range(-1,1)) = 0
|
||||
_UnderlayOffsetY ("Border OffsetY", Range(-1,1)) = 0
|
||||
_UnderlayDilate ("Border Dilate", Range(-1,1)) = 0
|
||||
_UnderlaySoftness ("Border Softness", Range(0,1)) = 0
|
||||
|
||||
_GlowColor ("Color", Color) = (0, 1, 0, 0.5)
|
||||
_GlowOffset ("Offset", Range(-1,1)) = 0
|
||||
_GlowInner ("Inner", Range(0,1)) = 0.05
|
||||
_GlowOuter ("Outer", Range(0,1)) = 0.05
|
||||
_GlowPower ("Falloff", Range(1, 0)) = 0.75
|
||||
|
||||
_WeightNormal ("Weight Normal", float) = 0
|
||||
_WeightBold ("Weight Bold", float) = 0.5
|
||||
|
||||
_ShaderFlags ("Flags", float) = 0
|
||||
_ScaleRatioA ("Scale RatioA", float) = 1
|
||||
_ScaleRatioB ("Scale RatioB", float) = 1
|
||||
_ScaleRatioC ("Scale RatioC", float) = 1
|
||||
|
||||
_MainTex ("Font Atlas", 2D) = "white" {}
|
||||
_TextureWidth ("Texture Width", float) = 512
|
||||
_TextureHeight ("Texture Height", float) = 512
|
||||
_GradientScale ("Gradient Scale", float) = 5.0
|
||||
_ScaleX ("Scale X", float) = 1.0
|
||||
_ScaleY ("Scale Y", float) = 1.0
|
||||
_PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875
|
||||
_Sharpness ("Sharpness", Range(-1,1)) = 0
|
||||
|
||||
_VertexOffsetX ("Vertex OffsetX", float) = 0
|
||||
_VertexOffsetY ("Vertex OffsetY", float) = 0
|
||||
|
||||
_MaskCoord ("Mask Coordinates", vector) = (0, 0, 32767, 32767)
|
||||
_ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767)
|
||||
_MaskSoftnessX ("Mask SoftnessX", float) = 0
|
||||
_MaskSoftnessY ("Mask SoftnessY", float) = 0
|
||||
|
||||
_StencilComp ("Stencil Comparison", Float) = 8
|
||||
_Stencil ("Stencil ID", Float) = 0
|
||||
_StencilOp ("Stencil Operation", Float) = 0
|
||||
_StencilWriteMask ("Stencil Write Mask", Float) = 255
|
||||
_StencilReadMask ("Stencil Read Mask", Float) = 255
|
||||
|
||||
_CullMode ("Cull Mode", Float) = 0
|
||||
_ColorMask ("Color Mask", Float) = 15
|
||||
}
|
||||
|
||||
SubShader {
|
||||
|
||||
Tags
|
||||
{
|
||||
"Queue"="Overlay"
|
||||
"IgnoreProjector"="True"
|
||||
"RenderType"="Transparent"
|
||||
}
|
||||
|
||||
Stencil
|
||||
{
|
||||
Ref [_Stencil]
|
||||
Comp [_StencilComp]
|
||||
Pass [_StencilOp]
|
||||
ReadMask [_StencilReadMask]
|
||||
WriteMask [_StencilWriteMask]
|
||||
}
|
||||
|
||||
Cull [_CullMode]
|
||||
ZWrite Off
|
||||
Lighting Off
|
||||
Fog { Mode Off }
|
||||
ZTest Always
|
||||
Blend One OneMinusSrcAlpha
|
||||
ColorMask [_ColorMask]
|
||||
|
||||
Pass {
|
||||
CGPROGRAM
|
||||
#pragma target 3.0
|
||||
#pragma vertex VertShader
|
||||
#pragma fragment PixShader
|
||||
#pragma shader_feature __ BEVEL_ON
|
||||
#pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER
|
||||
#pragma shader_feature __ GLOW_ON
|
||||
|
||||
#pragma multi_compile __ UNITY_UI_CLIP_RECT
|
||||
#pragma multi_compile __ UNITY_UI_ALPHACLIP
|
||||
|
||||
#include "UnityCG.cginc"
|
||||
#include "UnityUI.cginc"
|
||||
#include "TMPro_Properties.cginc"
|
||||
#include "TMPro.cginc"
|
||||
|
||||
struct vertex_t
|
||||
{
|
||||
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||
float4 position : POSITION;
|
||||
float3 normal : NORMAL;
|
||||
fixed4 color : COLOR;
|
||||
float4 texcoord0 : TEXCOORD0;
|
||||
float2 texcoord1 : TEXCOORD1;
|
||||
};
|
||||
|
||||
struct pixel_t
|
||||
{
|
||||
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||
UNITY_VERTEX_OUTPUT_STEREO
|
||||
float4 position : SV_POSITION;
|
||||
fixed4 color : COLOR;
|
||||
float2 atlas : TEXCOORD0; // Atlas
|
||||
float4 param : TEXCOORD1; // alphaClip, scale, bias, weight
|
||||
float4 mask : TEXCOORD2; // Position in object space(xy), pixel Size(zw)
|
||||
float3 viewDir : TEXCOORD3;
|
||||
|
||||
#if (UNDERLAY_ON || UNDERLAY_INNER)
|
||||
float4 texcoord2 : TEXCOORD4; // u,v, scale, bias
|
||||
fixed4 underlayColor : COLOR1;
|
||||
#endif
|
||||
|
||||
float4 textures : TEXCOORD5;
|
||||
};
|
||||
|
||||
// Used by Unity internally to handle Texture Tiling and Offset.
|
||||
uniform float4 _FaceTex_ST;
|
||||
uniform float4 _OutlineTex_ST;
|
||||
uniform float _UIMaskSoftnessX;
|
||||
uniform float _UIMaskSoftnessY;
|
||||
|
||||
pixel_t VertShader(vertex_t input)
|
||||
{
|
||||
pixel_t output;
|
||||
|
||||
UNITY_INITIALIZE_OUTPUT(pixel_t, output);
|
||||
UNITY_SETUP_INSTANCE_ID(input);
|
||||
UNITY_TRANSFER_INSTANCE_ID(input,output);
|
||||
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output);
|
||||
|
||||
float bold = step(input.texcoord0.w, 0);
|
||||
|
||||
float4 vert = input.position;
|
||||
vert.x += _VertexOffsetX;
|
||||
vert.y += _VertexOffsetY;
|
||||
|
||||
float4 vPosition = UnityObjectToClipPos(vert);
|
||||
|
||||
float2 pixelSize = vPosition.w;
|
||||
pixelSize /= float2(_ScaleX, _ScaleY) * abs(mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy));
|
||||
float scale = rsqrt(dot(pixelSize, pixelSize));
|
||||
scale *= abs(input.texcoord0.w) * _GradientScale * (_Sharpness + 1);
|
||||
if (UNITY_MATRIX_P[3][3] == 0) scale = lerp(abs(scale) * (1 - _PerspectiveFilter), scale, abs(dot(UnityObjectToWorldNormal(input.normal.xyz), normalize(WorldSpaceViewDir(vert)))));
|
||||
|
||||
float weight = lerp(_WeightNormal, _WeightBold, bold) / 4.0;
|
||||
weight = (weight + _FaceDilate) * _ScaleRatioA * 0.5;
|
||||
|
||||
float bias =(.5 - weight) + (.5 / scale);
|
||||
|
||||
float alphaClip = (1.0 - _OutlineWidth*_ScaleRatioA - _OutlineSoftness*_ScaleRatioA);
|
||||
|
||||
#if GLOW_ON
|
||||
alphaClip = min(alphaClip, 1.0 - _GlowOffset * _ScaleRatioB - _GlowOuter * _ScaleRatioB);
|
||||
#endif
|
||||
|
||||
alphaClip = alphaClip / 2.0 - ( .5 / scale) - weight;
|
||||
|
||||
#if (UNDERLAY_ON || UNDERLAY_INNER)
|
||||
float4 underlayColor = _UnderlayColor;
|
||||
underlayColor.rgb *= underlayColor.a;
|
||||
|
||||
float bScale = scale;
|
||||
bScale /= 1 + ((_UnderlaySoftness*_ScaleRatioC) * bScale);
|
||||
float bBias = (0.5 - weight) * bScale - 0.5 - ((_UnderlayDilate * _ScaleRatioC) * 0.5 * bScale);
|
||||
|
||||
float x = -(_UnderlayOffsetX * _ScaleRatioC) * _GradientScale / _TextureWidth;
|
||||
float y = -(_UnderlayOffsetY * _ScaleRatioC) * _GradientScale / _TextureHeight;
|
||||
float2 bOffset = float2(x, y);
|
||||
#endif
|
||||
|
||||
// Generate UV for the Masking Texture
|
||||
float4 clampedRect = clamp(_ClipRect, -2e10, 2e10);
|
||||
float2 maskUV = (vert.xy - clampedRect.xy) / (clampedRect.zw - clampedRect.xy);
|
||||
|
||||
// Support for texture tiling and offset
|
||||
float2 textureUV = input.texcoord1;
|
||||
float2 faceUV = TRANSFORM_TEX(textureUV, _FaceTex);
|
||||
float2 outlineUV = TRANSFORM_TEX(textureUV, _OutlineTex);
|
||||
|
||||
|
||||
output.position = vPosition;
|
||||
output.color = input.color;
|
||||
output.atlas = input.texcoord0;
|
||||
output.param = float4(alphaClip, scale, bias, weight);
|
||||
const half2 maskSoftness = half2(max(_UIMaskSoftnessX, _MaskSoftnessX), max(_UIMaskSoftnessY, _MaskSoftnessY));
|
||||
output.mask = half4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * maskSoftness + pixelSize.xy));
|
||||
output.viewDir = mul((float3x3)_EnvMatrix, _WorldSpaceCameraPos.xyz - mul(unity_ObjectToWorld, vert).xyz);
|
||||
#if (UNDERLAY_ON || UNDERLAY_INNER)
|
||||
output.texcoord2 = float4(input.texcoord0 + bOffset, bScale, bBias);
|
||||
output.underlayColor = underlayColor;
|
||||
#endif
|
||||
output.textures = float4(faceUV, outlineUV);
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
|
||||
fixed4 PixShader(pixel_t input) : SV_Target
|
||||
{
|
||||
UNITY_SETUP_INSTANCE_ID(input);
|
||||
|
||||
float c = tex2D(_MainTex, input.atlas).a;
|
||||
|
||||
#ifndef UNDERLAY_ON
|
||||
clip(c - input.param.x);
|
||||
#endif
|
||||
|
||||
float scale = input.param.y;
|
||||
float bias = input.param.z;
|
||||
float weight = input.param.w;
|
||||
float sd = (bias - c) * scale;
|
||||
|
||||
float outline = (_OutlineWidth * _ScaleRatioA) * scale;
|
||||
float softness = (_OutlineSoftness * _ScaleRatioA) * scale;
|
||||
|
||||
half4 faceColor = _FaceColor;
|
||||
half4 outlineColor = _OutlineColor;
|
||||
|
||||
faceColor.rgb *= input.color.rgb;
|
||||
|
||||
faceColor *= tex2D(_FaceTex, input.textures.xy + float2(_FaceUVSpeedX, _FaceUVSpeedY) * _Time.y);
|
||||
outlineColor *= tex2D(_OutlineTex, input.textures.zw + float2(_OutlineUVSpeedX, _OutlineUVSpeedY) * _Time.y);
|
||||
|
||||
faceColor = GetColor(sd, faceColor, outlineColor, outline, softness);
|
||||
|
||||
#if BEVEL_ON
|
||||
float3 dxy = float3(0.5 / _TextureWidth, 0.5 / _TextureHeight, 0);
|
||||
float3 n = GetSurfaceNormal(input.atlas, weight, dxy);
|
||||
|
||||
float3 bump = UnpackNormal(tex2D(_BumpMap, input.textures.xy + float2(_FaceUVSpeedX, _FaceUVSpeedY) * _Time.y)).xyz;
|
||||
bump *= lerp(_BumpFace, _BumpOutline, saturate(sd + outline * 0.5));
|
||||
n = normalize(n- bump);
|
||||
|
||||
float3 light = normalize(float3(sin(_LightAngle), cos(_LightAngle), -1.0));
|
||||
|
||||
float3 col = GetSpecular(n, light);
|
||||
faceColor.rgb += col*faceColor.a;
|
||||
faceColor.rgb *= 1-(dot(n, light)*_Diffuse);
|
||||
faceColor.rgb *= lerp(_Ambient, 1, n.z*n.z);
|
||||
|
||||
fixed4 reflcol = texCUBE(_Cube, reflect(input.viewDir, -n));
|
||||
faceColor.rgb += reflcol.rgb * lerp(_ReflectFaceColor.rgb, _ReflectOutlineColor.rgb, saturate(sd + outline * 0.5)) * faceColor.a;
|
||||
#endif
|
||||
|
||||
#if UNDERLAY_ON
|
||||
float d = tex2D(_MainTex, input.texcoord2.xy).a * input.texcoord2.z;
|
||||
faceColor += input.underlayColor * saturate(d - input.texcoord2.w) * (1 - faceColor.a);
|
||||
#endif
|
||||
|
||||
#if UNDERLAY_INNER
|
||||
float d = tex2D(_MainTex, input.texcoord2.xy).a * input.texcoord2.z;
|
||||
faceColor += input.underlayColor * (1 - saturate(d - input.texcoord2.w)) * saturate(1 - sd) * (1 - faceColor.a);
|
||||
#endif
|
||||
|
||||
#if GLOW_ON
|
||||
float4 glowColor = GetGlowColor(sd, scale);
|
||||
faceColor.rgb += glowColor.rgb * glowColor.a;
|
||||
#endif
|
||||
|
||||
// Alternative implementation to UnityGet2DClipping with support for softness.
|
||||
#if UNITY_UI_CLIP_RECT
|
||||
half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(input.mask.xy)) * input.mask.zw);
|
||||
faceColor *= m.x * m.y;
|
||||
#endif
|
||||
|
||||
#if UNITY_UI_ALPHACLIP
|
||||
clip(faceColor.a - 0.001);
|
||||
#endif
|
||||
|
||||
return faceColor * input.color.a;
|
||||
}
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
|
||||
Fallback "TextMeshPro/Mobile/Distance Field"
|
||||
CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI"
|
||||
}
|
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: dd89cf5b9246416f84610a006f916af7
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
316
Assets/Resources/TextMesh Pro/Shaders/TMP_SDF SSD.shader
Normal file
316
Assets/Resources/TextMesh Pro/Shaders/TMP_SDF SSD.shader
Normal file
@@ -0,0 +1,316 @@
|
||||
Shader "TextMeshPro/Distance Field SSD" {
|
||||
|
||||
Properties {
|
||||
_FaceTex ("Face Texture", 2D) = "white" {}
|
||||
_FaceUVSpeedX ("Face UV Speed X", Range(-5, 5)) = 0.0
|
||||
_FaceUVSpeedY ("Face UV Speed Y", Range(-5, 5)) = 0.0
|
||||
_FaceColor ("Face Color", Color) = (1,1,1,1)
|
||||
_FaceDilate ("Face Dilate", Range(-1,1)) = 0
|
||||
|
||||
_OutlineColor ("Outline Color", Color) = (0,0,0,1)
|
||||
_OutlineTex ("Outline Texture", 2D) = "white" {}
|
||||
_OutlineUVSpeedX ("Outline UV Speed X", Range(-5, 5)) = 0.0
|
||||
_OutlineUVSpeedY ("Outline UV Speed Y", Range(-5, 5)) = 0.0
|
||||
_OutlineWidth ("Outline Thickness", Range(0, 1)) = 0
|
||||
_OutlineSoftness ("Outline Softness", Range(0,1)) = 0
|
||||
|
||||
_Bevel ("Bevel", Range(0,1)) = 0.5
|
||||
_BevelOffset ("Bevel Offset", Range(-0.5,0.5)) = 0
|
||||
_BevelWidth ("Bevel Width", Range(-.5,0.5)) = 0
|
||||
_BevelClamp ("Bevel Clamp", Range(0,1)) = 0
|
||||
_BevelRoundness ("Bevel Roundness", Range(0,1)) = 0
|
||||
|
||||
_LightAngle ("Light Angle", Range(0.0, 6.2831853)) = 3.1416
|
||||
_SpecularColor ("Specular", Color) = (1,1,1,1)
|
||||
_SpecularPower ("Specular", Range(0,4)) = 2.0
|
||||
_Reflectivity ("Reflectivity", Range(5.0,15.0)) = 10
|
||||
_Diffuse ("Diffuse", Range(0,1)) = 0.5
|
||||
_Ambient ("Ambient", Range(1,0)) = 0.5
|
||||
|
||||
_BumpMap ("Normal map", 2D) = "bump" {}
|
||||
_BumpOutline ("Bump Outline", Range(0,1)) = 0
|
||||
_BumpFace ("Bump Face", Range(0,1)) = 0
|
||||
|
||||
_ReflectFaceColor ("Reflection Color", Color) = (0,0,0,1)
|
||||
_ReflectOutlineColor("Reflection Color", Color) = (0,0,0,1)
|
||||
_Cube ("Reflection Cubemap", Cube) = "black" { /* TexGen CubeReflect */ }
|
||||
_EnvMatrixRotation ("Texture Rotation", vector) = (0, 0, 0, 0)
|
||||
|
||||
|
||||
_UnderlayColor ("Border Color", Color) = (0,0,0, 0.5)
|
||||
_UnderlayOffsetX ("Border OffsetX", Range(-1,1)) = 0
|
||||
_UnderlayOffsetY ("Border OffsetY", Range(-1,1)) = 0
|
||||
_UnderlayDilate ("Border Dilate", Range(-1,1)) = 0
|
||||
_UnderlaySoftness ("Border Softness", Range(0,1)) = 0
|
||||
|
||||
_GlowColor ("Color", Color) = (0, 1, 0, 0.5)
|
||||
_GlowOffset ("Offset", Range(-1,1)) = 0
|
||||
_GlowInner ("Inner", Range(0,1)) = 0.05
|
||||
_GlowOuter ("Outer", Range(0,1)) = 0.05
|
||||
_GlowPower ("Falloff", Range(1, 0)) = 0.75
|
||||
|
||||
_WeightNormal ("Weight Normal", float) = 0
|
||||
_WeightBold ("Weight Bold", float) = 0.5
|
||||
|
||||
_ShaderFlags ("Flags", float) = 0
|
||||
_ScaleRatioA ("Scale RatioA", float) = 1
|
||||
_ScaleRatioB ("Scale RatioB", float) = 1
|
||||
_ScaleRatioC ("Scale RatioC", float) = 1
|
||||
|
||||
_MainTex ("Font Atlas", 2D) = "white" {}
|
||||
_TextureWidth ("Texture Width", float) = 512
|
||||
_TextureHeight ("Texture Height", float) = 512
|
||||
_GradientScale ("Gradient Scale", float) = 5.0
|
||||
_ScaleX ("Scale X", float) = 1.0
|
||||
_ScaleY ("Scale Y", float) = 1.0
|
||||
_PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875
|
||||
_Sharpness ("Sharpness", Range(-1,1)) = 0
|
||||
|
||||
_VertexOffsetX ("Vertex OffsetX", float) = 0
|
||||
_VertexOffsetY ("Vertex OffsetY", float) = 0
|
||||
|
||||
_MaskCoord ("Mask Coordinates", vector) = (0, 0, 32767, 32767)
|
||||
_ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767)
|
||||
_MaskSoftnessX ("Mask SoftnessX", float) = 0
|
||||
_MaskSoftnessY ("Mask SoftnessY", float) = 0
|
||||
|
||||
_StencilComp ("Stencil Comparison", Float) = 8
|
||||
_Stencil ("Stencil ID", Float) = 0
|
||||
_StencilOp ("Stencil Operation", Float) = 0
|
||||
_StencilWriteMask ("Stencil Write Mask", Float) = 255
|
||||
_StencilReadMask ("Stencil Read Mask", Float) = 255
|
||||
|
||||
_CullMode ("Cull Mode", Float) = 0
|
||||
_ColorMask ("Color Mask", Float) = 15
|
||||
}
|
||||
|
||||
SubShader {
|
||||
Tags
|
||||
{
|
||||
"Queue" = "Transparent"
|
||||
"IgnoreProjector" = "True"
|
||||
"RenderType" = "Transparent"
|
||||
}
|
||||
|
||||
Stencil
|
||||
{
|
||||
Ref[_Stencil]
|
||||
Comp[_StencilComp]
|
||||
Pass[_StencilOp]
|
||||
ReadMask[_StencilReadMask]
|
||||
WriteMask[_StencilWriteMask]
|
||||
}
|
||||
|
||||
Cull[_CullMode]
|
||||
ZWrite Off
|
||||
Lighting Off
|
||||
Fog { Mode Off }
|
||||
ZTest[unity_GUIZTestMode]
|
||||
Blend One OneMinusSrcAlpha
|
||||
ColorMask[_ColorMask]
|
||||
|
||||
Pass
|
||||
{
|
||||
CGPROGRAM
|
||||
#pragma target 3.0
|
||||
#pragma vertex VertShader
|
||||
#pragma fragment PixShader
|
||||
#pragma shader_feature __ BEVEL_ON
|
||||
#pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER
|
||||
#pragma shader_feature __ GLOW_ON
|
||||
#pragma shader_feature __ FORCE_LINEAR
|
||||
|
||||
#pragma multi_compile __ UNITY_UI_CLIP_RECT
|
||||
#pragma multi_compile __ UNITY_UI_ALPHACLIP
|
||||
|
||||
#include "UnityCG.cginc"
|
||||
#include "UnityUI.cginc"
|
||||
#include "TMPro_Properties.cginc"
|
||||
#include "TMPro.cginc"
|
||||
|
||||
struct vertex_t
|
||||
{
|
||||
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||
float4 position : POSITION;
|
||||
float3 normal : NORMAL;
|
||||
float4 color : COLOR;
|
||||
float4 texcoord0 : TEXCOORD0;
|
||||
float2 texcoord1 : TEXCOORD1;
|
||||
};
|
||||
|
||||
struct pixel_t
|
||||
{
|
||||
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||
UNITY_VERTEX_OUTPUT_STEREO
|
||||
float4 position : SV_POSITION;
|
||||
float4 color : COLOR;
|
||||
float2 atlas : TEXCOORD0;
|
||||
float weight : TEXCOORD1;
|
||||
float2 mask : TEXCOORD2; // Position in object space(xy)
|
||||
float3 viewDir : TEXCOORD3;
|
||||
|
||||
#if (UNDERLAY_ON || UNDERLAY_INNER)
|
||||
float2 texcoord2 : TEXCOORD4;
|
||||
float4 underlayColor : COLOR1;
|
||||
#endif
|
||||
|
||||
float4 textures : TEXCOORD5;
|
||||
};
|
||||
|
||||
// Used by Unity internally to handle Texture Tiling and Offset.
|
||||
float4 _FaceTex_ST;
|
||||
float4 _OutlineTex_ST;
|
||||
float _UIMaskSoftnessX;
|
||||
float _UIMaskSoftnessY;
|
||||
|
||||
float4 SRGBToLinear(float4 rgba)
|
||||
{
|
||||
return float4(lerp(rgba.rgb / 12.92f, pow((rgba.rgb + 0.055f) / 1.055f, 2.4f), step(0.04045f, rgba.rgb)), rgba.a);
|
||||
}
|
||||
|
||||
pixel_t VertShader(vertex_t input)
|
||||
{
|
||||
pixel_t output;
|
||||
|
||||
UNITY_INITIALIZE_OUTPUT(pixel_t, output);
|
||||
UNITY_SETUP_INSTANCE_ID(input);
|
||||
UNITY_TRANSFER_INSTANCE_ID(input,output);
|
||||
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output);
|
||||
|
||||
float bold = step(input.texcoord0.w, 0);
|
||||
|
||||
float4 vert = input.position;
|
||||
vert.x += _VertexOffsetX;
|
||||
vert.y += _VertexOffsetY;
|
||||
|
||||
float4 vPosition = UnityObjectToClipPos(vert);
|
||||
|
||||
float weight = lerp(_WeightNormal, _WeightBold, bold) / 4.0;
|
||||
weight = (weight + _FaceDilate) * _ScaleRatioA * 0.5;
|
||||
|
||||
#if (UNDERLAY_ON || UNDERLAY_INNER)
|
||||
float4 underlayColor = _UnderlayColor;
|
||||
underlayColor.rgb *= underlayColor.a;
|
||||
|
||||
float x = -(_UnderlayOffsetX * _ScaleRatioC) * _GradientScale / _TextureWidth;
|
||||
float y = -(_UnderlayOffsetY * _ScaleRatioC) * _GradientScale / _TextureHeight;
|
||||
float2 bOffset = float2(x, y);
|
||||
#endif
|
||||
|
||||
// Generate UV for the Masking Texture
|
||||
float4 clampedRect = clamp(_ClipRect, -2e10, 2e10);
|
||||
|
||||
// Support for texture tiling and offset
|
||||
float2 textureUV = input.texcoord1;
|
||||
float2 faceUV = TRANSFORM_TEX(textureUV, _FaceTex);
|
||||
float2 outlineUV = TRANSFORM_TEX(textureUV, _OutlineTex);
|
||||
|
||||
float4 color = input.color;
|
||||
#if (FORCE_LINEAR && !UNITY_COLORSPACE_GAMMA)
|
||||
color = SRGBToLinear(input.color);
|
||||
#endif
|
||||
|
||||
output.position = vPosition;
|
||||
output.color = color;
|
||||
output.atlas = input.texcoord0;
|
||||
output.weight = weight;
|
||||
output.mask = half2(vert.xy * 2 - clampedRect.xy - clampedRect.zw);
|
||||
output.viewDir = mul((float3x3)_EnvMatrix, _WorldSpaceCameraPos.xyz - mul(unity_ObjectToWorld, vert).xyz);
|
||||
#if (UNDERLAY_ON || UNDERLAY_INNER)
|
||||
output.texcoord2 = input.texcoord0 + bOffset;
|
||||
output.underlayColor = underlayColor;
|
||||
#endif
|
||||
output.textures = float4(faceUV, outlineUV);
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
|
||||
fixed4 PixShader(pixel_t input) : SV_Target
|
||||
{
|
||||
UNITY_SETUP_INSTANCE_ID(input);
|
||||
|
||||
float c = tex2D(_MainTex, input.atlas).a;
|
||||
|
||||
float pixelSize = abs(ddx(input.atlas.y)) + abs(ddy(input.atlas.y));
|
||||
pixelSize *= _TextureHeight * 0.75;
|
||||
float scale = 1 / pixelSize * _GradientScale * (_Sharpness + 1);
|
||||
|
||||
float weight = input.weight;
|
||||
float bias = (.5 - weight) + (.5 / scale);
|
||||
float sd = (bias - c) * scale;
|
||||
|
||||
float outline = (_OutlineWidth * _ScaleRatioA) * scale;
|
||||
float softness = (_OutlineSoftness * _ScaleRatioA) * scale;
|
||||
|
||||
half4 faceColor = _FaceColor;
|
||||
half4 outlineColor = _OutlineColor;
|
||||
|
||||
faceColor.rgb *= input.color.rgb;
|
||||
|
||||
faceColor *= tex2D(_FaceTex, input.textures.xy + float2(_FaceUVSpeedX, _FaceUVSpeedY) * _Time.y);
|
||||
outlineColor *= tex2D(_OutlineTex, input.textures.zw + float2(_OutlineUVSpeedX, _OutlineUVSpeedY) * _Time.y);
|
||||
|
||||
faceColor = GetColor(sd, faceColor, outlineColor, outline, softness);
|
||||
|
||||
#if BEVEL_ON
|
||||
float3 dxy = float3(0.5 / _TextureWidth, 0.5 / _TextureHeight, 0);
|
||||
float3 n = GetSurfaceNormal(input.atlas, weight, dxy);
|
||||
|
||||
float3 bump = UnpackNormal(tex2D(_BumpMap, input.textures.xy + float2(_FaceUVSpeedX, _FaceUVSpeedY) * _Time.y)).xyz;
|
||||
bump *= lerp(_BumpFace, _BumpOutline, saturate(sd + outline * 0.5));
|
||||
n = normalize(n - bump);
|
||||
|
||||
float3 light = normalize(float3(sin(_LightAngle), cos(_LightAngle), -1.0));
|
||||
|
||||
float3 col = GetSpecular(n, light);
|
||||
faceColor.rgb += col * faceColor.a;
|
||||
faceColor.rgb *= 1 - (dot(n, light) * _Diffuse);
|
||||
faceColor.rgb *= lerp(_Ambient, 1, n.z * n.z);
|
||||
|
||||
fixed4 reflcol = texCUBE(_Cube, reflect(input.viewDir, -n));
|
||||
faceColor.rgb += reflcol.rgb * lerp(_ReflectFaceColor.rgb, _ReflectOutlineColor.rgb, saturate(sd + outline * 0.5)) * faceColor.a;
|
||||
#endif
|
||||
|
||||
#if (UNDERLAY_ON || UNDERLAY_INNER)
|
||||
float bScale = scale;
|
||||
bScale /= 1 + ((_UnderlaySoftness * _ScaleRatioC) * bScale);
|
||||
float bBias = (0.5 - weight) * bScale - 0.5 - ((_UnderlayDilate * _ScaleRatioC) * 0.5 * bScale);
|
||||
#endif
|
||||
|
||||
#if UNDERLAY_ON
|
||||
float d = tex2D(_MainTex, input.texcoord2.xy).a * bScale;
|
||||
faceColor += input.underlayColor * saturate(d - bBias) * (1 - faceColor.a);
|
||||
#endif
|
||||
|
||||
#if UNDERLAY_INNER
|
||||
float d = tex2D(_MainTex, input.texcoord2.xy).a * bScale;
|
||||
faceColor += input.underlayColor * (1 - saturate(d - bBias)) * saturate(1 - sd) * (1 - faceColor.a);
|
||||
#endif
|
||||
|
||||
#if GLOW_ON
|
||||
float4 glowColor = GetGlowColor(sd, scale);
|
||||
faceColor.rgb += glowColor.rgb * glowColor.a;
|
||||
#endif
|
||||
|
||||
// Alternative implementation to UnityGet2DClipping with support for softness.
|
||||
#if UNITY_UI_CLIP_RECT
|
||||
half2 maskSoftness = half2(max(_UIMaskSoftnessX, _MaskSoftnessX), max(_UIMaskSoftnessY, _MaskSoftnessY));
|
||||
float2 maskZW = 0.25 / (0.25 * maskSoftness + 1 / scale);
|
||||
half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(input.mask.xy)) * maskZW);
|
||||
faceColor *= m.x * m.y;
|
||||
#endif
|
||||
|
||||
#if UNITY_UI_ALPHACLIP
|
||||
clip(faceColor.a - 0.001);
|
||||
#endif
|
||||
|
||||
return faceColor * input.color.a;
|
||||
}
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
|
||||
Fallback "TextMeshPro/Mobile/Distance Field"
|
||||
CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI"
|
||||
}
|
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 14eb328de4b8eb245bb7cea29e4ac00b
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
11507
Assets/Resources/TextMesh Pro/Shaders/TMP_SDF-HDRP LIT.shadergraph
Normal file
11507
Assets/Resources/TextMesh Pro/Shaders/TMP_SDF-HDRP LIT.shadergraph
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ca2ed216f98028c4dae6c5224a952b3c
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3}
|
11198
Assets/Resources/TextMesh Pro/Shaders/TMP_SDF-HDRP UNLIT.shadergraph
Normal file
11198
Assets/Resources/TextMesh Pro/Shaders/TMP_SDF-HDRP UNLIT.shadergraph
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f63d574838ccfb44f84acc05fed0af48
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3}
|
@@ -0,0 +1,253 @@
|
||||
// Simplified SDF shader:
|
||||
// - No Shading Option (bevel / bump / env map)
|
||||
// - No Glow Option
|
||||
// - Softness is applied on both side of the outline
|
||||
|
||||
Shader "TextMeshPro/Mobile/Distance Field - Masking" {
|
||||
|
||||
Properties {
|
||||
_FaceColor ("Face Color", Color) = (1,1,1,1)
|
||||
_FaceDilate ("Face Dilate", Range(-1,1)) = 0
|
||||
|
||||
_OutlineColor ("Outline Color", Color) = (0,0,0,1)
|
||||
_OutlineWidth ("Outline Thickness", Range(0,1)) = 0
|
||||
_OutlineSoftness ("Outline Softness", Range(0,1)) = 0
|
||||
|
||||
_UnderlayColor ("Border Color", Color) = (0,0,0,.5)
|
||||
_UnderlayOffsetX ("Border OffsetX", Range(-1,1)) = 0
|
||||
_UnderlayOffsetY ("Border OffsetY", Range(-1,1)) = 0
|
||||
_UnderlayDilate ("Border Dilate", Range(-1,1)) = 0
|
||||
_UnderlaySoftness ("Border Softness", Range(0,1)) = 0
|
||||
|
||||
_WeightNormal ("Weight Normal", float) = 0
|
||||
_WeightBold ("Weight Bold", float) = .5
|
||||
|
||||
_ShaderFlags ("Flags", float) = 0
|
||||
_ScaleRatioA ("Scale RatioA", float) = 1
|
||||
_ScaleRatioB ("Scale RatioB", float) = 1
|
||||
_ScaleRatioC ("Scale RatioC", float) = 1
|
||||
|
||||
_MainTex ("Font Atlas", 2D) = "white" {}
|
||||
_TextureWidth ("Texture Width", float) = 512
|
||||
_TextureHeight ("Texture Height", float) = 512
|
||||
_GradientScale ("Gradient Scale", float) = 5
|
||||
_ScaleX ("Scale X", float) = 1
|
||||
_ScaleY ("Scale Y", float) = 1
|
||||
_PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875
|
||||
_Sharpness ("Sharpness", Range(-1,1)) = 0
|
||||
|
||||
_VertexOffsetX ("Vertex OffsetX", float) = 0
|
||||
_VertexOffsetY ("Vertex OffsetY", float) = 0
|
||||
|
||||
_ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767)
|
||||
_MaskSoftnessX ("Mask SoftnessX", float) = 0
|
||||
_MaskSoftnessY ("Mask SoftnessY", float) = 0
|
||||
_MaskTex ("Mask Texture", 2D) = "white" {}
|
||||
_MaskInverse ("Inverse", float) = 0
|
||||
_MaskEdgeColor ("Edge Color", Color) = (1,1,1,1)
|
||||
_MaskEdgeSoftness ("Edge Softness", Range(0, 1)) = 0.01
|
||||
_MaskWipeControl ("Wipe Position", Range(0, 1)) = 0.5
|
||||
|
||||
_StencilComp ("Stencil Comparison", Float) = 8
|
||||
_Stencil ("Stencil ID", Float) = 0
|
||||
_StencilOp ("Stencil Operation", Float) = 0
|
||||
_StencilWriteMask ("Stencil Write Mask", Float) = 255
|
||||
_StencilReadMask ("Stencil Read Mask", Float) = 255
|
||||
|
||||
_CullMode ("Cull Mode", Float) = 0
|
||||
_ColorMask ("Color Mask", Float) = 15
|
||||
}
|
||||
|
||||
SubShader {
|
||||
Tags
|
||||
{
|
||||
"Queue"="Transparent"
|
||||
"IgnoreProjector"="True"
|
||||
"RenderType"="Transparent"
|
||||
}
|
||||
|
||||
|
||||
Stencil
|
||||
{
|
||||
Ref [_Stencil]
|
||||
Comp [_StencilComp]
|
||||
Pass [_StencilOp]
|
||||
ReadMask [_StencilReadMask]
|
||||
WriteMask [_StencilWriteMask]
|
||||
}
|
||||
|
||||
Cull [_CullMode]
|
||||
ZWrite Off
|
||||
Lighting Off
|
||||
Fog { Mode Off }
|
||||
ZTest [unity_GUIZTestMode]
|
||||
Blend One OneMinusSrcAlpha
|
||||
ColorMask [_ColorMask]
|
||||
|
||||
Pass {
|
||||
CGPROGRAM
|
||||
#pragma vertex VertShader
|
||||
#pragma fragment PixShader
|
||||
#pragma shader_feature __ OUTLINE_ON
|
||||
#pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER
|
||||
|
||||
#pragma multi_compile __ UNITY_UI_CLIP_RECT
|
||||
#pragma multi_compile __ UNITY_UI_ALPHACLIP
|
||||
|
||||
|
||||
#include "UnityCG.cginc"
|
||||
#include "UnityUI.cginc"
|
||||
#include "TMPro_Properties.cginc"
|
||||
|
||||
struct vertex_t
|
||||
{
|
||||
float4 vertex : POSITION;
|
||||
float3 normal : NORMAL;
|
||||
fixed4 color : COLOR;
|
||||
float4 texcoord0 : TEXCOORD0;
|
||||
float2 texcoord1 : TEXCOORD1;
|
||||
};
|
||||
|
||||
struct pixel_t
|
||||
{
|
||||
float4 vertex : SV_POSITION;
|
||||
fixed4 faceColor : COLOR;
|
||||
fixed4 outlineColor : COLOR1;
|
||||
float4 texcoord0 : TEXCOORD0; // Texture UV, Mask UV
|
||||
half4 param : TEXCOORD1; // Scale(x), BiasIn(y), BiasOut(z), Bias(w)
|
||||
half4 mask : TEXCOORD2; // Position in clip space(xy), Softness(zw)
|
||||
|
||||
#if (UNDERLAY_ON | UNDERLAY_INNER)
|
||||
float4 texcoord1 : TEXCOORD3; // Texture UV, alpha, reserved
|
||||
half2 underlayParam : TEXCOORD4; // Scale(x), Bias(y)
|
||||
#endif
|
||||
};
|
||||
|
||||
float _MaskWipeControl;
|
||||
float _MaskEdgeSoftness;
|
||||
fixed4 _MaskEdgeColor;
|
||||
bool _MaskInverse;
|
||||
float _UIMaskSoftnessX;
|
||||
float _UIMaskSoftnessY;
|
||||
|
||||
pixel_t VertShader(vertex_t input)
|
||||
{
|
||||
float bold = step(input.texcoord0.w, 0);
|
||||
|
||||
float4 vert = input.vertex;
|
||||
vert.x += _VertexOffsetX;
|
||||
vert.y += _VertexOffsetY;
|
||||
float4 vPosition = UnityObjectToClipPos(vert);
|
||||
|
||||
float2 pixelSize = vPosition.w;
|
||||
pixelSize /= float2(_ScaleX, _ScaleY) * abs(mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy));
|
||||
|
||||
float scale = rsqrt(dot(pixelSize, pixelSize));
|
||||
scale *= abs(input.texcoord0.w) * _GradientScale * (_Sharpness + 1);
|
||||
if(UNITY_MATRIX_P[3][3] == 0) scale = lerp(abs(scale) * (1 - _PerspectiveFilter), scale, abs(dot(UnityObjectToWorldNormal(input.normal.xyz), normalize(WorldSpaceViewDir(vert)))));
|
||||
|
||||
float weight = lerp(_WeightNormal, _WeightBold, bold) / 4.0;
|
||||
weight = (weight + _FaceDilate) * _ScaleRatioA * 0.5;
|
||||
|
||||
float layerScale = scale;
|
||||
|
||||
scale /= 1 + (_OutlineSoftness * _ScaleRatioA * scale);
|
||||
float bias = (0.5 - weight) * scale - 0.5;
|
||||
float outline = _OutlineWidth * _ScaleRatioA * 0.5 * scale;
|
||||
|
||||
float opacity = input.color.a;
|
||||
#if (UNDERLAY_ON | UNDERLAY_INNER)
|
||||
opacity = 1.0;
|
||||
#endif
|
||||
|
||||
fixed4 faceColor = fixed4(input.color.rgb, opacity) * _FaceColor;
|
||||
faceColor.rgb *= faceColor.a;
|
||||
|
||||
fixed4 outlineColor = _OutlineColor;
|
||||
outlineColor.a *= opacity;
|
||||
outlineColor.rgb *= outlineColor.a;
|
||||
outlineColor = lerp(faceColor, outlineColor, sqrt(min(1.0, (outline * 2))));
|
||||
|
||||
#if (UNDERLAY_ON | UNDERLAY_INNER)
|
||||
|
||||
layerScale /= 1 + ((_UnderlaySoftness * _ScaleRatioC) * layerScale);
|
||||
float layerBias = (.5 - weight) * layerScale - .5 - ((_UnderlayDilate * _ScaleRatioC) * .5 * layerScale);
|
||||
|
||||
float x = -(_UnderlayOffsetX * _ScaleRatioC) * _GradientScale / _TextureWidth;
|
||||
float y = -(_UnderlayOffsetY * _ScaleRatioC) * _GradientScale / _TextureHeight;
|
||||
float2 layerOffset = float2(x, y);
|
||||
#endif
|
||||
|
||||
// Generate UV for the Masking Texture
|
||||
float4 clampedRect = clamp(_ClipRect, -2e10, 2e10);
|
||||
float2 maskUV = (vert.xy - clampedRect.xy) / (clampedRect.zw - clampedRect.xy);
|
||||
const half2 maskSoftness = half2(max(_UIMaskSoftnessX, _MaskSoftnessX), max(_UIMaskSoftnessY, _MaskSoftnessY));
|
||||
|
||||
// Structure for pixel shader
|
||||
pixel_t output = {
|
||||
vPosition,
|
||||
faceColor,
|
||||
outlineColor,
|
||||
float4(input.texcoord0.x, input.texcoord0.y, maskUV.x, maskUV.y),
|
||||
half4(scale, bias - outline, bias + outline, bias),
|
||||
half4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * maskSoftness + pixelSize.xy)),
|
||||
#if (UNDERLAY_ON | UNDERLAY_INNER)
|
||||
float4(input.texcoord0 + layerOffset, input.color.a, 0),
|
||||
half2(layerScale, layerBias),
|
||||
#endif
|
||||
};
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
|
||||
// PIXEL SHADER
|
||||
fixed4 PixShader(pixel_t input) : SV_Target
|
||||
{
|
||||
half d = tex2D(_MainTex, input.texcoord0.xy).a * input.param.x;
|
||||
half4 c = input.faceColor * saturate(d - input.param.w);
|
||||
|
||||
#ifdef OUTLINE_ON
|
||||
c = lerp(input.outlineColor, input.faceColor, saturate(d - input.param.z));
|
||||
c *= saturate(d - input.param.y);
|
||||
#endif
|
||||
|
||||
#if UNDERLAY_ON
|
||||
d = tex2D(_MainTex, input.texcoord1.xy).a * input.underlayParam.x;
|
||||
c += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * saturate(d - input.underlayParam.y) * (1 - c.a);
|
||||
#endif
|
||||
|
||||
#if UNDERLAY_INNER
|
||||
half sd = saturate(d - input.param.z);
|
||||
d = tex2D(_MainTex, input.texcoord1.xy).a * input.underlayParam.x;
|
||||
c += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * (1 - saturate(d - input.underlayParam.y)) * sd * (1 - c.a);
|
||||
#endif
|
||||
|
||||
// Alternative implementation to UnityGet2DClipping with support for softness.
|
||||
//#if UNITY_UI_CLIP_RECT
|
||||
half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(input.mask.xy)) * input.mask.zw);
|
||||
c *= m.x * m.y;
|
||||
//#endif
|
||||
|
||||
float a = abs(_MaskInverse - tex2D(_MaskTex, input.texcoord0.zw).a);
|
||||
float t = a + (1 - _MaskWipeControl) * _MaskEdgeSoftness - _MaskWipeControl;
|
||||
a = saturate(t / _MaskEdgeSoftness);
|
||||
c.rgb = lerp(_MaskEdgeColor.rgb*c.a, c.rgb, a);
|
||||
c *= a;
|
||||
|
||||
#if (UNDERLAY_ON | UNDERLAY_INNER)
|
||||
c *= input.texcoord1.z;
|
||||
#endif
|
||||
|
||||
#if UNITY_UI_ALPHACLIP
|
||||
clip(c.a - 0.001);
|
||||
#endif
|
||||
|
||||
return c;
|
||||
}
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
|
||||
CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI"
|
||||
}
|
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bc1ede39bf3643ee8e493720e4259791
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -0,0 +1,247 @@
|
||||
// Simplified SDF shader:
|
||||
// - No Shading Option (bevel / bump / env map)
|
||||
// - No Glow Option
|
||||
// - Softness is applied on both side of the outline
|
||||
|
||||
Shader "TextMeshPro/Mobile/Distance Field Overlay" {
|
||||
|
||||
Properties {
|
||||
_FaceColor ("Face Color", Color) = (1,1,1,1)
|
||||
_FaceDilate ("Face Dilate", Range(-1,1)) = 0
|
||||
|
||||
_OutlineColor ("Outline Color", Color) = (0,0,0,1)
|
||||
_OutlineWidth ("Outline Thickness", Range(0,1)) = 0
|
||||
_OutlineSoftness ("Outline Softness", Range(0,1)) = 0
|
||||
|
||||
_UnderlayColor ("Border Color", Color) = (0,0,0,.5)
|
||||
_UnderlayOffsetX ("Border OffsetX", Range(-1,1)) = 0
|
||||
_UnderlayOffsetY ("Border OffsetY", Range(-1,1)) = 0
|
||||
_UnderlayDilate ("Border Dilate", Range(-1,1)) = 0
|
||||
_UnderlaySoftness ("Border Softness", Range(0,1)) = 0
|
||||
|
||||
_WeightNormal ("Weight Normal", float) = 0
|
||||
_WeightBold ("Weight Bold", float) = .5
|
||||
|
||||
_ShaderFlags ("Flags", float) = 0
|
||||
_ScaleRatioA ("Scale RatioA", float) = 1
|
||||
_ScaleRatioB ("Scale RatioB", float) = 1
|
||||
_ScaleRatioC ("Scale RatioC", float) = 1
|
||||
|
||||
_MainTex ("Font Atlas", 2D) = "white" {}
|
||||
_TextureWidth ("Texture Width", float) = 512
|
||||
_TextureHeight ("Texture Height", float) = 512
|
||||
_GradientScale ("Gradient Scale", float) = 5
|
||||
_ScaleX ("Scale X", float) = 1
|
||||
_ScaleY ("Scale Y", float) = 1
|
||||
_PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875
|
||||
_Sharpness ("Sharpness", Range(-1,1)) = 0
|
||||
|
||||
_VertexOffsetX ("Vertex OffsetX", float) = 0
|
||||
_VertexOffsetY ("Vertex OffsetY", float) = 0
|
||||
|
||||
_ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767)
|
||||
_MaskSoftnessX ("Mask SoftnessX", float) = 0
|
||||
_MaskSoftnessY ("Mask SoftnessY", float) = 0
|
||||
|
||||
_StencilComp ("Stencil Comparison", Float) = 8
|
||||
_Stencil ("Stencil ID", Float) = 0
|
||||
_StencilOp ("Stencil Operation", Float) = 0
|
||||
_StencilWriteMask ("Stencil Write Mask", Float) = 255
|
||||
_StencilReadMask ("Stencil Read Mask", Float) = 255
|
||||
|
||||
_CullMode ("Cull Mode", Float) = 0
|
||||
_ColorMask ("Color Mask", Float) = 15
|
||||
}
|
||||
|
||||
SubShader {
|
||||
Tags
|
||||
{
|
||||
"Queue"="Overlay"
|
||||
"IgnoreProjector"="True"
|
||||
"RenderType"="Transparent"
|
||||
}
|
||||
|
||||
|
||||
Stencil
|
||||
{
|
||||
Ref [_Stencil]
|
||||
Comp [_StencilComp]
|
||||
Pass [_StencilOp]
|
||||
ReadMask [_StencilReadMask]
|
||||
WriteMask [_StencilWriteMask]
|
||||
}
|
||||
|
||||
Cull [_CullMode]
|
||||
ZWrite Off
|
||||
Lighting Off
|
||||
Fog { Mode Off }
|
||||
ZTest Always
|
||||
Blend One OneMinusSrcAlpha
|
||||
ColorMask [_ColorMask]
|
||||
|
||||
Pass {
|
||||
CGPROGRAM
|
||||
#pragma vertex VertShader
|
||||
#pragma fragment PixShader
|
||||
#pragma shader_feature __ OUTLINE_ON
|
||||
#pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER
|
||||
|
||||
#pragma multi_compile __ UNITY_UI_CLIP_RECT
|
||||
#pragma multi_compile __ UNITY_UI_ALPHACLIP
|
||||
|
||||
#include "UnityCG.cginc"
|
||||
#include "UnityUI.cginc"
|
||||
#include "TMPro_Properties.cginc"
|
||||
|
||||
struct vertex_t
|
||||
{
|
||||
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||
float4 vertex : POSITION;
|
||||
float3 normal : NORMAL;
|
||||
fixed4 color : COLOR;
|
||||
float4 texcoord0 : TEXCOORD0;
|
||||
float2 texcoord1 : TEXCOORD1;
|
||||
};
|
||||
|
||||
struct pixel_t
|
||||
{
|
||||
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||
UNITY_VERTEX_OUTPUT_STEREO
|
||||
float4 vertex : SV_POSITION;
|
||||
fixed4 faceColor : COLOR;
|
||||
fixed4 outlineColor : COLOR1;
|
||||
float4 texcoord0 : TEXCOORD0; // Texture UV, Mask UV
|
||||
half4 param : TEXCOORD1; // Scale(x), BiasIn(y), BiasOut(z), Bias(w)
|
||||
half4 mask : TEXCOORD2; // Position in clip space(xy), Softness(zw)
|
||||
|
||||
#if (UNDERLAY_ON | UNDERLAY_INNER)
|
||||
float4 texcoord1 : TEXCOORD3; // Texture UV, alpha, reserved
|
||||
half2 underlayParam : TEXCOORD4; // Scale(x), Bias(y)
|
||||
#endif
|
||||
};
|
||||
|
||||
float _UIMaskSoftnessX;
|
||||
float _UIMaskSoftnessY;
|
||||
|
||||
|
||||
pixel_t VertShader(vertex_t input)
|
||||
{
|
||||
pixel_t output;
|
||||
|
||||
UNITY_INITIALIZE_OUTPUT(pixel_t, output);
|
||||
UNITY_SETUP_INSTANCE_ID(input);
|
||||
UNITY_TRANSFER_INSTANCE_ID(input, output);
|
||||
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output);
|
||||
|
||||
float bold = step(input.texcoord0.w, 0);
|
||||
|
||||
float4 vert = input.vertex;
|
||||
vert.x += _VertexOffsetX;
|
||||
vert.y += _VertexOffsetY;
|
||||
float4 vPosition = UnityObjectToClipPos(vert);
|
||||
|
||||
float2 pixelSize = vPosition.w;
|
||||
pixelSize /= float2(_ScaleX, _ScaleY) * abs(mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy));
|
||||
|
||||
float scale = rsqrt(dot(pixelSize, pixelSize));
|
||||
scale *= abs(input.texcoord0.w) * _GradientScale * (_Sharpness + 1);
|
||||
if(UNITY_MATRIX_P[3][3] == 0) scale = lerp(abs(scale) * (1 - _PerspectiveFilter), scale, abs(dot(UnityObjectToWorldNormal(input.normal.xyz), normalize(WorldSpaceViewDir(vert)))));
|
||||
|
||||
float weight = lerp(_WeightNormal, _WeightBold, bold) / 4.0;
|
||||
weight = (weight + _FaceDilate) * _ScaleRatioA * 0.5;
|
||||
|
||||
float layerScale = scale;
|
||||
|
||||
scale /= 1 + (_OutlineSoftness * _ScaleRatioA * scale);
|
||||
float bias = (0.5 - weight) * scale - 0.5;
|
||||
float outline = _OutlineWidth * _ScaleRatioA * 0.5 * scale;
|
||||
|
||||
float opacity = input.color.a;
|
||||
#if (UNDERLAY_ON | UNDERLAY_INNER)
|
||||
opacity = 1.0;
|
||||
#endif
|
||||
|
||||
fixed4 faceColor = fixed4(input.color.rgb, opacity) * _FaceColor;
|
||||
faceColor.rgb *= faceColor.a;
|
||||
|
||||
fixed4 outlineColor = _OutlineColor;
|
||||
outlineColor.a *= opacity;
|
||||
outlineColor.rgb *= outlineColor.a;
|
||||
outlineColor = lerp(faceColor, outlineColor, sqrt(min(1.0, (outline * 2))));
|
||||
|
||||
#if (UNDERLAY_ON | UNDERLAY_INNER)
|
||||
layerScale /= 1 + ((_UnderlaySoftness * _ScaleRatioC) * layerScale);
|
||||
float layerBias = (.5 - weight) * layerScale - .5 - ((_UnderlayDilate * _ScaleRatioC) * .5 * layerScale);
|
||||
|
||||
float x = -(_UnderlayOffsetX * _ScaleRatioC) * _GradientScale / _TextureWidth;
|
||||
float y = -(_UnderlayOffsetY * _ScaleRatioC) * _GradientScale / _TextureHeight;
|
||||
float2 layerOffset = float2(x, y);
|
||||
#endif
|
||||
|
||||
// Generate UV for the Masking Texture
|
||||
float4 clampedRect = clamp(_ClipRect, -2e10, 2e10);
|
||||
float2 maskUV = (vert.xy - clampedRect.xy) / (clampedRect.zw - clampedRect.xy);
|
||||
|
||||
// Populate structure for pixel shader
|
||||
output.vertex = vPosition;
|
||||
output.faceColor = faceColor;
|
||||
output.outlineColor = outlineColor;
|
||||
output.texcoord0 = float4(input.texcoord0.x, input.texcoord0.y, maskUV.x, maskUV.y);
|
||||
output.param = half4(scale, bias - outline, bias + outline, bias);
|
||||
const half2 maskSoftness = half2(max(_UIMaskSoftnessX, _MaskSoftnessX), max(_UIMaskSoftnessY, _MaskSoftnessY));
|
||||
output.mask = half4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * maskSoftness + pixelSize.xy));
|
||||
#if (UNDERLAY_ON || UNDERLAY_INNER)
|
||||
output.texcoord1 = float4(input.texcoord0 + layerOffset, input.color.a, 0);
|
||||
output.underlayParam = half2(layerScale, layerBias);
|
||||
#endif
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
|
||||
// PIXEL SHADER
|
||||
fixed4 PixShader(pixel_t input) : SV_Target
|
||||
{
|
||||
UNITY_SETUP_INSTANCE_ID(input);
|
||||
|
||||
half d = tex2D(_MainTex, input.texcoord0.xy).a * input.param.x;
|
||||
half4 c = input.faceColor * saturate(d - input.param.w);
|
||||
|
||||
#ifdef OUTLINE_ON
|
||||
c = lerp(input.outlineColor, input.faceColor, saturate(d - input.param.z));
|
||||
c *= saturate(d - input.param.y);
|
||||
#endif
|
||||
|
||||
#if UNDERLAY_ON
|
||||
d = tex2D(_MainTex, input.texcoord1.xy).a * input.underlayParam.x;
|
||||
c += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * saturate(d - input.underlayParam.y) * (1 - c.a);
|
||||
#endif
|
||||
|
||||
#if UNDERLAY_INNER
|
||||
half sd = saturate(d - input.param.z);
|
||||
d = tex2D(_MainTex, input.texcoord1.xy).a * input.underlayParam.x;
|
||||
c += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * (1 - saturate(d - input.underlayParam.y)) * sd * (1 - c.a);
|
||||
#endif
|
||||
|
||||
// Alternative implementation to UnityGet2DClipping with support for softness.
|
||||
#if UNITY_UI_CLIP_RECT
|
||||
half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(input.mask.xy)) * input.mask.zw);
|
||||
c *= m.x * m.y;
|
||||
#endif
|
||||
|
||||
#if (UNDERLAY_ON | UNDERLAY_INNER)
|
||||
c *= input.texcoord1.z;
|
||||
#endif
|
||||
|
||||
#if UNITY_UI_ALPHACLIP
|
||||
clip(c.a - 0.001);
|
||||
#endif
|
||||
|
||||
return c;
|
||||
}
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
|
||||
CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI"
|
||||
}
|
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a02a7d8c237544f1962732b55a9aebf1
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
106
Assets/Resources/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader
Normal file
106
Assets/Resources/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader
Normal file
@@ -0,0 +1,106 @@
|
||||
// Simplified SDF shader:
|
||||
// - No Shading Option (bevel / bump / env map)
|
||||
// - No Glow Option
|
||||
// - Softness is applied on both side of the outline
|
||||
|
||||
Shader "TextMeshPro/Mobile/Distance Field SSD" {
|
||||
|
||||
Properties {
|
||||
_FaceColor ("Face Color", Color) = (1,1,1,1)
|
||||
_FaceDilate ("Face Dilate", Range(-1,1)) = 0
|
||||
|
||||
_OutlineColor ("Outline Color", Color) = (0,0,0,1)
|
||||
_OutlineWidth ("Outline Thickness", Range(0,1)) = 0
|
||||
_OutlineSoftness ("Outline Softness", Range(0,1)) = 0
|
||||
|
||||
_UnderlayColor ("Border Color", Color) = (0,0,0,.5)
|
||||
_UnderlayOffsetX ("Border OffsetX", Range(-1,1)) = 0
|
||||
_UnderlayOffsetY ("Border OffsetY", Range(-1,1)) = 0
|
||||
_UnderlayDilate ("Border Dilate", Range(-1,1)) = 0
|
||||
_UnderlaySoftness ("Border Softness", Range(0,1)) = 0
|
||||
|
||||
_WeightNormal ("Weight Normal", float) = 0
|
||||
_WeightBold ("Weight Bold", float) = .5
|
||||
|
||||
_ShaderFlags ("Flags", float) = 0
|
||||
_ScaleRatioA ("Scale RatioA", float) = 1
|
||||
_ScaleRatioB ("Scale RatioB", float) = 1
|
||||
_ScaleRatioC ("Scale RatioC", float) = 1
|
||||
|
||||
_MainTex ("Font Atlas", 2D) = "white" {}
|
||||
_TextureWidth ("Texture Width", float) = 512
|
||||
_TextureHeight ("Texture Height", float) = 512
|
||||
_GradientScale ("Gradient Scale", float) = 5
|
||||
_ScaleX ("Scale X", float) = 1
|
||||
_ScaleY ("Scale Y", float) = 1
|
||||
_PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875
|
||||
_Sharpness ("Sharpness", Range(-1,1)) = 0
|
||||
|
||||
_VertexOffsetX ("Vertex OffsetX", float) = 0
|
||||
_VertexOffsetY ("Vertex OffsetY", float) = 0
|
||||
|
||||
_ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767)
|
||||
_MaskSoftnessX ("Mask SoftnessX", float) = 0
|
||||
_MaskSoftnessY ("Mask SoftnessY", float) = 0
|
||||
_MaskTex ("Mask Texture", 2D) = "white" {}
|
||||
_MaskInverse ("Inverse", float) = 0
|
||||
_MaskEdgeColor ("Edge Color", Color) = (1,1,1,1)
|
||||
_MaskEdgeSoftness ("Edge Softness", Range(0, 1)) = 0.01
|
||||
_MaskWipeControl ("Wipe Position", Range(0, 1)) = 0.5
|
||||
|
||||
_StencilComp ("Stencil Comparison", Float) = 8
|
||||
_Stencil ("Stencil ID", Float) = 0
|
||||
_StencilOp ("Stencil Operation", Float) = 0
|
||||
_StencilWriteMask ("Stencil Write Mask", Float) = 255
|
||||
_StencilReadMask ("Stencil Read Mask", Float) = 255
|
||||
|
||||
_CullMode ("Cull Mode", Float) = 0
|
||||
_ColorMask ("Color Mask", Float) = 15
|
||||
}
|
||||
|
||||
SubShader {
|
||||
Tags {
|
||||
"Queue"="Transparent"
|
||||
"IgnoreProjector"="True"
|
||||
"RenderType"="Transparent"
|
||||
}
|
||||
|
||||
Stencil
|
||||
{
|
||||
Ref [_Stencil]
|
||||
Comp [_StencilComp]
|
||||
Pass [_StencilOp]
|
||||
ReadMask [_StencilReadMask]
|
||||
WriteMask [_StencilWriteMask]
|
||||
}
|
||||
|
||||
Cull [_CullMode]
|
||||
ZWrite Off
|
||||
Lighting Off
|
||||
Fog { Mode Off }
|
||||
ZTest [unity_GUIZTestMode]
|
||||
Blend One OneMinusSrcAlpha
|
||||
ColorMask [_ColorMask]
|
||||
|
||||
Pass {
|
||||
CGPROGRAM
|
||||
#pragma vertex VertShader
|
||||
#pragma fragment PixShader
|
||||
#pragma shader_feature __ OUTLINE_ON
|
||||
#pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER
|
||||
|
||||
#pragma multi_compile __ UNITY_UI_CLIP_RECT
|
||||
#pragma multi_compile __ UNITY_UI_ALPHACLIP
|
||||
|
||||
#include "UnityCG.cginc"
|
||||
#include "UnityUI.cginc"
|
||||
#include "TMPro_Properties.cginc"
|
||||
|
||||
#include "TMPro_Mobile.cginc"
|
||||
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
|
||||
CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI"
|
||||
}
|
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c8d12adcee749c344b8117cf7c7eb912
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
244
Assets/Resources/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader
Normal file
244
Assets/Resources/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader
Normal file
@@ -0,0 +1,244 @@
|
||||
// Simplified SDF shader:
|
||||
// - No Shading Option (bevel / bump / env map)
|
||||
// - No Glow Option
|
||||
// - Softness is applied on both side of the outline
|
||||
|
||||
Shader "TextMeshPro/Mobile/Distance Field" {
|
||||
|
||||
Properties {
|
||||
_FaceColor ("Face Color", Color) = (1,1,1,1)
|
||||
_FaceDilate ("Face Dilate", Range(-1,1)) = 0
|
||||
|
||||
_OutlineColor ("Outline Color", Color) = (0,0,0,1)
|
||||
_OutlineWidth ("Outline Thickness", Range(0,1)) = 0
|
||||
_OutlineSoftness ("Outline Softness", Range(0,1)) = 0
|
||||
|
||||
_UnderlayColor ("Border Color", Color) = (0,0,0,.5)
|
||||
_UnderlayOffsetX ("Border OffsetX", Range(-1,1)) = 0
|
||||
_UnderlayOffsetY ("Border OffsetY", Range(-1,1)) = 0
|
||||
_UnderlayDilate ("Border Dilate", Range(-1,1)) = 0
|
||||
_UnderlaySoftness ("Border Softness", Range(0,1)) = 0
|
||||
|
||||
_WeightNormal ("Weight Normal", float) = 0
|
||||
_WeightBold ("Weight Bold", float) = .5
|
||||
|
||||
_ShaderFlags ("Flags", float) = 0
|
||||
_ScaleRatioA ("Scale RatioA", float) = 1
|
||||
_ScaleRatioB ("Scale RatioB", float) = 1
|
||||
_ScaleRatioC ("Scale RatioC", float) = 1
|
||||
|
||||
_MainTex ("Font Atlas", 2D) = "white" {}
|
||||
_TextureWidth ("Texture Width", float) = 512
|
||||
_TextureHeight ("Texture Height", float) = 512
|
||||
_GradientScale ("Gradient Scale", float) = 5
|
||||
_ScaleX ("Scale X", float) = 1
|
||||
_ScaleY ("Scale Y", float) = 1
|
||||
_PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875
|
||||
_Sharpness ("Sharpness", Range(-1,1)) = 0
|
||||
|
||||
_VertexOffsetX ("Vertex OffsetX", float) = 0
|
||||
_VertexOffsetY ("Vertex OffsetY", float) = 0
|
||||
|
||||
_ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767)
|
||||
_MaskSoftnessX ("Mask SoftnessX", float) = 0
|
||||
_MaskSoftnessY ("Mask SoftnessY", float) = 0
|
||||
|
||||
_StencilComp ("Stencil Comparison", Float) = 8
|
||||
_Stencil ("Stencil ID", Float) = 0
|
||||
_StencilOp ("Stencil Operation", Float) = 0
|
||||
_StencilWriteMask ("Stencil Write Mask", Float) = 255
|
||||
_StencilReadMask ("Stencil Read Mask", Float) = 255
|
||||
|
||||
_CullMode ("Cull Mode", Float) = 0
|
||||
_ColorMask ("Color Mask", Float) = 15
|
||||
}
|
||||
|
||||
SubShader {
|
||||
Tags
|
||||
{
|
||||
"Queue"="Transparent"
|
||||
"IgnoreProjector"="True"
|
||||
"RenderType"="Transparent"
|
||||
}
|
||||
|
||||
|
||||
Stencil
|
||||
{
|
||||
Ref [_Stencil]
|
||||
Comp [_StencilComp]
|
||||
Pass [_StencilOp]
|
||||
ReadMask [_StencilReadMask]
|
||||
WriteMask [_StencilWriteMask]
|
||||
}
|
||||
|
||||
Cull [_CullMode]
|
||||
ZWrite Off
|
||||
Lighting Off
|
||||
Fog { Mode Off }
|
||||
ZTest [unity_GUIZTestMode]
|
||||
Blend One OneMinusSrcAlpha
|
||||
ColorMask [_ColorMask]
|
||||
|
||||
Pass {
|
||||
CGPROGRAM
|
||||
#pragma vertex VertShader
|
||||
#pragma fragment PixShader
|
||||
#pragma shader_feature __ OUTLINE_ON
|
||||
#pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER
|
||||
|
||||
#pragma multi_compile __ UNITY_UI_CLIP_RECT
|
||||
#pragma multi_compile __ UNITY_UI_ALPHACLIP
|
||||
|
||||
#include "UnityCG.cginc"
|
||||
#include "UnityUI.cginc"
|
||||
#include "TMPro_Properties.cginc"
|
||||
|
||||
struct vertex_t {
|
||||
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||
float4 vertex : POSITION;
|
||||
float3 normal : NORMAL;
|
||||
fixed4 color : COLOR;
|
||||
float4 texcoord0 : TEXCOORD0;
|
||||
float2 texcoord1 : TEXCOORD1;
|
||||
};
|
||||
|
||||
struct pixel_t {
|
||||
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||
UNITY_VERTEX_OUTPUT_STEREO
|
||||
float4 vertex : SV_POSITION;
|
||||
fixed4 faceColor : COLOR;
|
||||
fixed4 outlineColor : COLOR1;
|
||||
float4 texcoord0 : TEXCOORD0; // Texture UV, Mask UV
|
||||
half4 param : TEXCOORD1; // Scale(x), BiasIn(y), BiasOut(z), Bias(w)
|
||||
half4 mask : TEXCOORD2; // Position in clip space(xy), Softness(zw)
|
||||
#if (UNDERLAY_ON | UNDERLAY_INNER)
|
||||
float4 texcoord1 : TEXCOORD3; // Texture UV, alpha, reserved
|
||||
half2 underlayParam : TEXCOORD4; // Scale(x), Bias(y)
|
||||
#endif
|
||||
};
|
||||
|
||||
float _UIMaskSoftnessX;
|
||||
float _UIMaskSoftnessY;
|
||||
|
||||
pixel_t VertShader(vertex_t input)
|
||||
{
|
||||
pixel_t output;
|
||||
|
||||
UNITY_INITIALIZE_OUTPUT(pixel_t, output);
|
||||
UNITY_SETUP_INSTANCE_ID(input);
|
||||
UNITY_TRANSFER_INSTANCE_ID(input, output);
|
||||
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output);
|
||||
|
||||
float bold = step(input.texcoord0.w, 0);
|
||||
|
||||
float4 vert = input.vertex;
|
||||
vert.x += _VertexOffsetX;
|
||||
vert.y += _VertexOffsetY;
|
||||
float4 vPosition = UnityObjectToClipPos(vert);
|
||||
|
||||
float2 pixelSize = vPosition.w;
|
||||
pixelSize /= float2(_ScaleX, _ScaleY) * abs(mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy));
|
||||
|
||||
float scale = rsqrt(dot(pixelSize, pixelSize));
|
||||
scale *= abs(input.texcoord0.w) * _GradientScale * (_Sharpness + 1);
|
||||
if(UNITY_MATRIX_P[3][3] == 0) scale = lerp(abs(scale) * (1 - _PerspectiveFilter), scale, abs(dot(UnityObjectToWorldNormal(input.normal.xyz), normalize(WorldSpaceViewDir(vert)))));
|
||||
|
||||
float weight = lerp(_WeightNormal, _WeightBold, bold) / 4.0;
|
||||
weight = (weight + _FaceDilate) * _ScaleRatioA * 0.5;
|
||||
|
||||
float layerScale = scale;
|
||||
|
||||
scale /= 1 + (_OutlineSoftness * _ScaleRatioA * scale);
|
||||
float bias = (0.5 - weight) * scale - 0.5;
|
||||
float outline = _OutlineWidth * _ScaleRatioA * 0.5 * scale;
|
||||
|
||||
float opacity = input.color.a;
|
||||
#if (UNDERLAY_ON | UNDERLAY_INNER)
|
||||
opacity = 1.0;
|
||||
#endif
|
||||
|
||||
fixed4 faceColor = fixed4(input.color.rgb, opacity) * _FaceColor;
|
||||
faceColor.rgb *= faceColor.a;
|
||||
|
||||
fixed4 outlineColor = _OutlineColor;
|
||||
outlineColor.a *= opacity;
|
||||
outlineColor.rgb *= outlineColor.a;
|
||||
outlineColor = lerp(faceColor, outlineColor, sqrt(min(1.0, (outline * 2))));
|
||||
|
||||
#if (UNDERLAY_ON | UNDERLAY_INNER)
|
||||
layerScale /= 1 + ((_UnderlaySoftness * _ScaleRatioC) * layerScale);
|
||||
float layerBias = (.5 - weight) * layerScale - .5 - ((_UnderlayDilate * _ScaleRatioC) * .5 * layerScale);
|
||||
|
||||
float x = -(_UnderlayOffsetX * _ScaleRatioC) * _GradientScale / _TextureWidth;
|
||||
float y = -(_UnderlayOffsetY * _ScaleRatioC) * _GradientScale / _TextureHeight;
|
||||
float2 layerOffset = float2(x, y);
|
||||
#endif
|
||||
|
||||
// Generate UV for the Masking Texture
|
||||
float4 clampedRect = clamp(_ClipRect, -2e10, 2e10);
|
||||
float2 maskUV = (vert.xy - clampedRect.xy) / (clampedRect.zw - clampedRect.xy);
|
||||
|
||||
// Populate structure for pixel shader
|
||||
output.vertex = vPosition;
|
||||
output.faceColor = faceColor;
|
||||
output.outlineColor = outlineColor;
|
||||
output.texcoord0 = float4(input.texcoord0.x, input.texcoord0.y, maskUV.x, maskUV.y);
|
||||
output.param = half4(scale, bias - outline, bias + outline, bias);
|
||||
|
||||
const half2 maskSoftness = half2(max(_UIMaskSoftnessX, _MaskSoftnessX), max(_UIMaskSoftnessY, _MaskSoftnessY));
|
||||
output.mask = half4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * maskSoftness + pixelSize.xy));
|
||||
#if (UNDERLAY_ON || UNDERLAY_INNER)
|
||||
output.texcoord1 = float4(input.texcoord0 + layerOffset, input.color.a, 0);
|
||||
output.underlayParam = half2(layerScale, layerBias);
|
||||
#endif
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
|
||||
// PIXEL SHADER
|
||||
fixed4 PixShader(pixel_t input) : SV_Target
|
||||
{
|
||||
UNITY_SETUP_INSTANCE_ID(input);
|
||||
|
||||
half d = tex2D(_MainTex, input.texcoord0.xy).a * input.param.x;
|
||||
half4 c = input.faceColor * saturate(d - input.param.w);
|
||||
|
||||
#ifdef OUTLINE_ON
|
||||
c = lerp(input.outlineColor, input.faceColor, saturate(d - input.param.z));
|
||||
c *= saturate(d - input.param.y);
|
||||
#endif
|
||||
|
||||
#if UNDERLAY_ON
|
||||
d = tex2D(_MainTex, input.texcoord1.xy).a * input.underlayParam.x;
|
||||
c += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * saturate(d - input.underlayParam.y) * (1 - c.a);
|
||||
#endif
|
||||
|
||||
#if UNDERLAY_INNER
|
||||
half sd = saturate(d - input.param.z);
|
||||
d = tex2D(_MainTex, input.texcoord1.xy).a * input.underlayParam.x;
|
||||
c += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * (1 - saturate(d - input.underlayParam.y)) * sd * (1 - c.a);
|
||||
#endif
|
||||
|
||||
// Alternative implementation to UnityGet2DClipping with support for softness.
|
||||
#if UNITY_UI_CLIP_RECT
|
||||
half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(input.mask.xy)) * input.mask.zw);
|
||||
c *= m.x * m.y;
|
||||
#endif
|
||||
|
||||
#if (UNDERLAY_ON | UNDERLAY_INNER)
|
||||
c *= input.texcoord1.z;
|
||||
#endif
|
||||
|
||||
#if UNITY_UI_ALPHACLIP
|
||||
clip(c.a - 0.001);
|
||||
#endif
|
||||
|
||||
return c;
|
||||
}
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
|
||||
CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI"
|
||||
}
|
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fe393ace9b354375a9cb14cdbbc28be4
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -0,0 +1,139 @@
|
||||
// Simplified version of the SDF Surface shader :
|
||||
// - No support for Bevel, Bump or envmap
|
||||
// - Diffuse only lighting
|
||||
// - Fully supports only 1 directional light. Other lights can affect it, but it will be per-vertex/SH.
|
||||
|
||||
Shader "TextMeshPro/Mobile/Distance Field (Surface)" {
|
||||
|
||||
Properties {
|
||||
_FaceTex ("Fill Texture", 2D) = "white" {}
|
||||
_FaceColor ("Fill Color", Color) = (1,1,1,1)
|
||||
_FaceDilate ("Face Dilate", Range(-1,1)) = 0
|
||||
|
||||
_OutlineColor ("Outline Color", Color) = (0,0,0,1)
|
||||
_OutlineTex ("Outline Texture", 2D) = "white" {}
|
||||
_OutlineWidth ("Outline Thickness", Range(0, 1)) = 0
|
||||
_OutlineSoftness ("Outline Softness", Range(0,1)) = 0
|
||||
|
||||
_GlowColor ("Color", Color) = (0, 1, 0, 0.5)
|
||||
_GlowOffset ("Offset", Range(-1,1)) = 0
|
||||
_GlowInner ("Inner", Range(0,1)) = 0.05
|
||||
_GlowOuter ("Outer", Range(0,1)) = 0.05
|
||||
_GlowPower ("Falloff", Range(1, 0)) = 0.75
|
||||
|
||||
_WeightNormal ("Weight Normal", float) = 0
|
||||
_WeightBold ("Weight Bold", float) = 0.5
|
||||
|
||||
// Should not be directly exposed to the user
|
||||
_ShaderFlags ("Flags", float) = 0
|
||||
_ScaleRatioA ("Scale RatioA", float) = 1
|
||||
_ScaleRatioB ("Scale RatioB", float) = 1
|
||||
_ScaleRatioC ("Scale RatioC", float) = 1
|
||||
|
||||
_MainTex ("Font Atlas", 2D) = "white" {}
|
||||
_TextureWidth ("Texture Width", float) = 512
|
||||
_TextureHeight ("Texture Height", float) = 512
|
||||
_GradientScale ("Gradient Scale", float) = 5.0
|
||||
_ScaleX ("Scale X", float) = 1.0
|
||||
_ScaleY ("Scale Y", float) = 1.0
|
||||
_PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875
|
||||
_Sharpness ("Sharpness", Range(-1,1)) = 0
|
||||
|
||||
_VertexOffsetX ("Vertex OffsetX", float) = 0
|
||||
_VertexOffsetY ("Vertex OffsetY", float) = 0
|
||||
|
||||
_CullMode ("Cull Mode", Float) = 0
|
||||
//_MaskCoord ("Mask Coords", vector) = (0,0,0,0)
|
||||
//_MaskSoftness ("Mask Softness", float) = 0
|
||||
}
|
||||
|
||||
SubShader {
|
||||
|
||||
Tags {
|
||||
"Queue"="Transparent"
|
||||
"IgnoreProjector"="True"
|
||||
"RenderType"="Transparent"
|
||||
}
|
||||
|
||||
LOD 300
|
||||
Cull [_CullMode]
|
||||
|
||||
CGPROGRAM
|
||||
#pragma surface PixShader Lambert alpha:blend vertex:VertShader noforwardadd nolightmap nodirlightmap
|
||||
#pragma target 3.0
|
||||
#pragma shader_feature __ GLOW_ON
|
||||
|
||||
#include "TMPro_Properties.cginc"
|
||||
#include "TMPro.cginc"
|
||||
|
||||
half _FaceShininess;
|
||||
half _OutlineShininess;
|
||||
|
||||
struct Input
|
||||
{
|
||||
fixed4 color : COLOR;
|
||||
float2 uv_MainTex;
|
||||
float2 uv2_FaceTex;
|
||||
float2 uv2_OutlineTex;
|
||||
float2 param; // Weight, Scale
|
||||
float3 viewDirEnv;
|
||||
};
|
||||
|
||||
#include "TMPro_Surface.cginc"
|
||||
|
||||
ENDCG
|
||||
|
||||
// Pass to render object as a shadow caster
|
||||
Pass
|
||||
{
|
||||
Name "Caster"
|
||||
Tags { "LightMode" = "ShadowCaster" }
|
||||
Offset 1, 1
|
||||
|
||||
Fog {Mode Off}
|
||||
ZWrite On ZTest LEqual Cull Off
|
||||
|
||||
CGPROGRAM
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
#pragma multi_compile_shadowcaster
|
||||
#include "UnityCG.cginc"
|
||||
|
||||
struct v2f
|
||||
{
|
||||
V2F_SHADOW_CASTER;
|
||||
float2 uv : TEXCOORD1;
|
||||
float2 uv2 : TEXCOORD3;
|
||||
float alphaClip : TEXCOORD2;
|
||||
};
|
||||
|
||||
uniform float4 _MainTex_ST;
|
||||
uniform float4 _OutlineTex_ST;
|
||||
float _OutlineWidth;
|
||||
float _FaceDilate;
|
||||
float _ScaleRatioA;
|
||||
|
||||
v2f vert( appdata_base v )
|
||||
{
|
||||
v2f o;
|
||||
TRANSFER_SHADOW_CASTER(o)
|
||||
o.uv = TRANSFORM_TEX(v.texcoord, _MainTex);
|
||||
o.uv2 = TRANSFORM_TEX(v.texcoord, _OutlineTex);
|
||||
o.alphaClip = o.alphaClip = (1.0 - _OutlineWidth * _ScaleRatioA - _FaceDilate * _ScaleRatioA) / 2;
|
||||
return o;
|
||||
}
|
||||
|
||||
uniform sampler2D _MainTex;
|
||||
|
||||
float4 frag(v2f i) : COLOR
|
||||
{
|
||||
fixed4 texcol = tex2D(_MainTex, i.uv).a;
|
||||
clip(texcol.a - i.alphaClip);
|
||||
SHADOW_CASTER_FRAGMENT(i)
|
||||
}
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
|
||||
CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI"
|
||||
}
|
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 85187c2149c549c5b33f0cdb02836b17
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
159
Assets/Resources/TextMesh Pro/Shaders/TMP_SDF-Surface.shader
Normal file
159
Assets/Resources/TextMesh Pro/Shaders/TMP_SDF-Surface.shader
Normal file
@@ -0,0 +1,159 @@
|
||||
Shader "TextMeshPro/Distance Field (Surface)" {
|
||||
|
||||
Properties {
|
||||
_FaceTex ("Fill Texture", 2D) = "white" {}
|
||||
_FaceUVSpeedX ("Face UV Speed X", Range(-5, 5)) = 0.0
|
||||
_FaceUVSpeedY ("Face UV Speed Y", Range(-5, 5)) = 0.0
|
||||
_FaceColor ("Fill Color", Color) = (1,1,1,1)
|
||||
_FaceDilate ("Face Dilate", Range(-1,1)) = 0
|
||||
|
||||
_OutlineColor ("Outline Color", Color) = (0,0,0,1)
|
||||
_OutlineTex ("Outline Texture", 2D) = "white" {}
|
||||
_OutlineUVSpeedX ("Outline UV Speed X", Range(-5, 5)) = 0.0
|
||||
_OutlineUVSpeedY ("Outline UV Speed Y", Range(-5, 5)) = 0.0
|
||||
_OutlineWidth ("Outline Thickness", Range(0, 1)) = 0
|
||||
_OutlineSoftness ("Outline Softness", Range(0,1)) = 0
|
||||
|
||||
_Bevel ("Bevel", Range(0,1)) = 0.5
|
||||
_BevelOffset ("Bevel Offset", Range(-0.5,0.5)) = 0
|
||||
_BevelWidth ("Bevel Width", Range(-.5,0.5)) = 0
|
||||
_BevelClamp ("Bevel Clamp", Range(0,1)) = 0
|
||||
_BevelRoundness ("Bevel Roundness", Range(0,1)) = 0
|
||||
|
||||
_BumpMap ("Normalmap", 2D) = "bump" {}
|
||||
_BumpOutline ("Bump Outline", Range(0,1)) = 0.5
|
||||
_BumpFace ("Bump Face", Range(0,1)) = 0.5
|
||||
|
||||
_ReflectFaceColor ("Face Color", Color) = (0,0,0,1)
|
||||
_ReflectOutlineColor ("Outline Color", Color) = (0,0,0,1)
|
||||
_Cube ("Reflection Cubemap", Cube) = "black" { /* TexGen CubeReflect */ }
|
||||
_EnvMatrixRotation ("Texture Rotation", vector) = (0, 0, 0, 0)
|
||||
_SpecColor ("Specular Color", Color) = (0,0,0,1)
|
||||
|
||||
_FaceShininess ("Face Shininess", Range(0,1)) = 0
|
||||
_OutlineShininess ("Outline Shininess", Range(0,1)) = 0
|
||||
|
||||
_GlowColor ("Color", Color) = (0, 1, 0, 0.5)
|
||||
_GlowOffset ("Offset", Range(-1,1)) = 0
|
||||
_GlowInner ("Inner", Range(0,1)) = 0.05
|
||||
_GlowOuter ("Outer", Range(0,1)) = 0.05
|
||||
_GlowPower ("Falloff", Range(1, 0)) = 0.75
|
||||
|
||||
_WeightNormal ("Weight Normal", float) = 0
|
||||
_WeightBold ("Weight Bold", float) = 0.5
|
||||
|
||||
// Should not be directly exposed to the user
|
||||
_ShaderFlags ("Flags", float) = 0
|
||||
_ScaleRatioA ("Scale RatioA", float) = 1
|
||||
_ScaleRatioB ("Scale RatioB", float) = 1
|
||||
_ScaleRatioC ("Scale RatioC", float) = 1
|
||||
|
||||
_MainTex ("Font Atlas", 2D) = "white" {}
|
||||
_TextureWidth ("Texture Width", float) = 512
|
||||
_TextureHeight ("Texture Height", float) = 512
|
||||
_GradientScale ("Gradient Scale", float) = 5.0
|
||||
_ScaleX ("Scale X", float) = 1.0
|
||||
_ScaleY ("Scale Y", float) = 1.0
|
||||
_PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875
|
||||
_Sharpness ("Sharpness", Range(-1,1)) = 0
|
||||
|
||||
_VertexOffsetX ("Vertex OffsetX", float) = 0
|
||||
_VertexOffsetY ("Vertex OffsetY", float) = 0
|
||||
|
||||
_CullMode ("Cull Mode", Float) = 0
|
||||
//_MaskCoord ("Mask Coords", vector) = (0,0,0,0)
|
||||
//_MaskSoftness ("Mask Softness", float) = 0
|
||||
}
|
||||
|
||||
SubShader {
|
||||
|
||||
Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" }
|
||||
|
||||
LOD 300
|
||||
Cull [_CullMode]
|
||||
|
||||
CGPROGRAM
|
||||
#pragma surface PixShader BlinnPhong alpha:blend vertex:VertShader nolightmap nodirlightmap
|
||||
#pragma target 3.0
|
||||
#pragma shader_feature __ GLOW_ON
|
||||
#pragma glsl
|
||||
|
||||
#include "TMPro_Properties.cginc"
|
||||
#include "TMPro.cginc"
|
||||
|
||||
half _FaceShininess;
|
||||
half _OutlineShininess;
|
||||
|
||||
struct Input
|
||||
{
|
||||
fixed4 color : COLOR;
|
||||
float2 uv_MainTex;
|
||||
float2 uv2_FaceTex;
|
||||
float2 uv2_OutlineTex;
|
||||
float2 param; // Weight, Scale
|
||||
float3 viewDirEnv;
|
||||
};
|
||||
|
||||
|
||||
#define BEVEL_ON 1
|
||||
#include "TMPro_Surface.cginc"
|
||||
|
||||
ENDCG
|
||||
|
||||
// Pass to render object as a shadow caster
|
||||
Pass
|
||||
{
|
||||
Name "Caster"
|
||||
Tags { "LightMode" = "ShadowCaster" }
|
||||
Offset 1, 1
|
||||
|
||||
Fog {Mode Off}
|
||||
ZWrite On
|
||||
ZTest LEqual
|
||||
Cull Off
|
||||
|
||||
CGPROGRAM
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
#pragma multi_compile_shadowcaster
|
||||
#include "UnityCG.cginc"
|
||||
|
||||
struct v2f
|
||||
{
|
||||
V2F_SHADOW_CASTER;
|
||||
float2 uv : TEXCOORD1;
|
||||
float2 uv2 : TEXCOORD3;
|
||||
float alphaClip : TEXCOORD2;
|
||||
};
|
||||
|
||||
uniform float4 _MainTex_ST;
|
||||
uniform float4 _OutlineTex_ST;
|
||||
float _OutlineWidth;
|
||||
float _FaceDilate;
|
||||
float _ScaleRatioA;
|
||||
|
||||
v2f vert( appdata_base v )
|
||||
{
|
||||
v2f o;
|
||||
TRANSFER_SHADOW_CASTER(o)
|
||||
o.uv = TRANSFORM_TEX(v.texcoord, _MainTex);
|
||||
o.uv2 = TRANSFORM_TEX(v.texcoord, _OutlineTex);
|
||||
o.alphaClip = (1.0 - _OutlineWidth * _ScaleRatioA - _FaceDilate * _ScaleRatioA) / 2;
|
||||
return o;
|
||||
}
|
||||
|
||||
uniform sampler2D _MainTex;
|
||||
|
||||
float4 frag(v2f i) : COLOR
|
||||
{
|
||||
fixed4 texcol = tex2D(_MainTex, i.uv).a;
|
||||
clip(texcol.a - i.alphaClip);
|
||||
SHADOW_CASTER_FRAGMENT(i)
|
||||
}
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
|
||||
CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI"
|
||||
}
|
||||
|
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f7ada0af4f174f0694ca6a487b8f543d
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
11457
Assets/Resources/TextMesh Pro/Shaders/TMP_SDF-URP Lit.shadergraph
Normal file
11457
Assets/Resources/TextMesh Pro/Shaders/TMP_SDF-URP Lit.shadergraph
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a3d800b099a06e0478fb790c5e79057a
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3}
|
11160
Assets/Resources/TextMesh Pro/Shaders/TMP_SDF-URP Unlit.shadergraph
Normal file
11160
Assets/Resources/TextMesh Pro/Shaders/TMP_SDF-URP Unlit.shadergraph
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 124c112a6e8f1a54e8b0870e881b56d8
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3}
|
321
Assets/Resources/TextMesh Pro/Shaders/TMP_SDF.shader
Normal file
321
Assets/Resources/TextMesh Pro/Shaders/TMP_SDF.shader
Normal file
@@ -0,0 +1,321 @@
|
||||
Shader "TextMeshPro/Distance Field" {
|
||||
|
||||
Properties {
|
||||
_FaceTex ("Face Texture", 2D) = "white" {}
|
||||
_FaceUVSpeedX ("Face UV Speed X", Range(-5, 5)) = 0.0
|
||||
_FaceUVSpeedY ("Face UV Speed Y", Range(-5, 5)) = 0.0
|
||||
_FaceColor ("Face Color", Color) = (1,1,1,1)
|
||||
_FaceDilate ("Face Dilate", Range(-1,1)) = 0
|
||||
|
||||
_OutlineColor ("Outline Color", Color) = (0,0,0,1)
|
||||
_OutlineTex ("Outline Texture", 2D) = "white" {}
|
||||
_OutlineUVSpeedX ("Outline UV Speed X", Range(-5, 5)) = 0.0
|
||||
_OutlineUVSpeedY ("Outline UV Speed Y", Range(-5, 5)) = 0.0
|
||||
_OutlineWidth ("Outline Thickness", Range(0, 1)) = 0
|
||||
_OutlineSoftness ("Outline Softness", Range(0,1)) = 0
|
||||
|
||||
_Bevel ("Bevel", Range(0,1)) = 0.5
|
||||
_BevelOffset ("Bevel Offset", Range(-0.5,0.5)) = 0
|
||||
_BevelWidth ("Bevel Width", Range(-.5,0.5)) = 0
|
||||
_BevelClamp ("Bevel Clamp", Range(0,1)) = 0
|
||||
_BevelRoundness ("Bevel Roundness", Range(0,1)) = 0
|
||||
|
||||
_LightAngle ("Light Angle", Range(0.0, 6.2831853)) = 3.1416
|
||||
_SpecularColor ("Specular", Color) = (1,1,1,1)
|
||||
_SpecularPower ("Specular", Range(0,4)) = 2.0
|
||||
_Reflectivity ("Reflectivity", Range(5.0,15.0)) = 10
|
||||
_Diffuse ("Diffuse", Range(0,1)) = 0.5
|
||||
_Ambient ("Ambient", Range(1,0)) = 0.5
|
||||
|
||||
_BumpMap ("Normal map", 2D) = "bump" {}
|
||||
_BumpOutline ("Bump Outline", Range(0,1)) = 0
|
||||
_BumpFace ("Bump Face", Range(0,1)) = 0
|
||||
|
||||
_ReflectFaceColor ("Reflection Color", Color) = (0,0,0,1)
|
||||
_ReflectOutlineColor("Reflection Color", Color) = (0,0,0,1)
|
||||
_Cube ("Reflection Cubemap", Cube) = "black" { /* TexGen CubeReflect */ }
|
||||
_EnvMatrixRotation ("Texture Rotation", vector) = (0, 0, 0, 0)
|
||||
|
||||
|
||||
_UnderlayColor ("Border Color", Color) = (0,0,0, 0.5)
|
||||
_UnderlayOffsetX ("Border OffsetX", Range(-1,1)) = 0
|
||||
_UnderlayOffsetY ("Border OffsetY", Range(-1,1)) = 0
|
||||
_UnderlayDilate ("Border Dilate", Range(-1,1)) = 0
|
||||
_UnderlaySoftness ("Border Softness", Range(0,1)) = 0
|
||||
|
||||
_GlowColor ("Color", Color) = (0, 1, 0, 0.5)
|
||||
_GlowOffset ("Offset", Range(-1,1)) = 0
|
||||
_GlowInner ("Inner", Range(0,1)) = 0.05
|
||||
_GlowOuter ("Outer", Range(0,1)) = 0.05
|
||||
_GlowPower ("Falloff", Range(1, 0)) = 0.75
|
||||
|
||||
_WeightNormal ("Weight Normal", float) = 0
|
||||
_WeightBold ("Weight Bold", float) = 0.5
|
||||
|
||||
_ShaderFlags ("Flags", float) = 0
|
||||
_ScaleRatioA ("Scale RatioA", float) = 1
|
||||
_ScaleRatioB ("Scale RatioB", float) = 1
|
||||
_ScaleRatioC ("Scale RatioC", float) = 1
|
||||
|
||||
_MainTex ("Font Atlas", 2D) = "white" {}
|
||||
_TextureWidth ("Texture Width", float) = 512
|
||||
_TextureHeight ("Texture Height", float) = 512
|
||||
_GradientScale ("Gradient Scale", float) = 5.0
|
||||
_ScaleX ("Scale X", float) = 1.0
|
||||
_ScaleY ("Scale Y", float) = 1.0
|
||||
_PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875
|
||||
_Sharpness ("Sharpness", Range(-1,1)) = 0
|
||||
|
||||
_VertexOffsetX ("Vertex OffsetX", float) = 0
|
||||
_VertexOffsetY ("Vertex OffsetY", float) = 0
|
||||
|
||||
_MaskCoord ("Mask Coordinates", vector) = (0, 0, 32767, 32767)
|
||||
_ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767)
|
||||
_MaskSoftnessX ("Mask SoftnessX", float) = 0
|
||||
_MaskSoftnessY ("Mask SoftnessY", float) = 0
|
||||
|
||||
_StencilComp ("Stencil Comparison", Float) = 8
|
||||
_Stencil ("Stencil ID", Float) = 0
|
||||
_StencilOp ("Stencil Operation", Float) = 0
|
||||
_StencilWriteMask ("Stencil Write Mask", Float) = 255
|
||||
_StencilReadMask ("Stencil Read Mask", Float) = 255
|
||||
|
||||
_CullMode ("Cull Mode", Float) = 0
|
||||
_ColorMask ("Color Mask", Float) = 15
|
||||
}
|
||||
|
||||
SubShader {
|
||||
|
||||
Tags
|
||||
{
|
||||
"Queue"="Transparent"
|
||||
"IgnoreProjector"="True"
|
||||
"RenderType"="Transparent"
|
||||
}
|
||||
|
||||
Stencil
|
||||
{
|
||||
Ref [_Stencil]
|
||||
Comp [_StencilComp]
|
||||
Pass [_StencilOp]
|
||||
ReadMask [_StencilReadMask]
|
||||
WriteMask [_StencilWriteMask]
|
||||
}
|
||||
|
||||
Cull [_CullMode]
|
||||
ZWrite Off
|
||||
Lighting Off
|
||||
Fog { Mode Off }
|
||||
ZTest [unity_GUIZTestMode]
|
||||
Blend One OneMinusSrcAlpha
|
||||
ColorMask [_ColorMask]
|
||||
|
||||
Pass {
|
||||
CGPROGRAM
|
||||
#pragma target 3.0
|
||||
#pragma vertex VertShader
|
||||
#pragma fragment PixShader
|
||||
#pragma shader_feature __ BEVEL_ON
|
||||
#pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER
|
||||
#pragma shader_feature __ GLOW_ON
|
||||
|
||||
#pragma multi_compile __ UNITY_UI_CLIP_RECT
|
||||
#pragma multi_compile __ UNITY_UI_ALPHACLIP
|
||||
|
||||
#include "UnityCG.cginc"
|
||||
#include "UnityUI.cginc"
|
||||
#include "TMPro_Properties.cginc"
|
||||
#include "TMPro.cginc"
|
||||
|
||||
struct vertex_t
|
||||
{
|
||||
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||
float4 position : POSITION;
|
||||
float3 normal : NORMAL;
|
||||
fixed4 color : COLOR;
|
||||
float4 texcoord0 : TEXCOORD0;
|
||||
float2 texcoord1 : TEXCOORD1;
|
||||
};
|
||||
|
||||
struct pixel_t
|
||||
{
|
||||
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||
UNITY_VERTEX_OUTPUT_STEREO
|
||||
float4 position : SV_POSITION;
|
||||
fixed4 color : COLOR;
|
||||
float2 atlas : TEXCOORD0; // Atlas
|
||||
float4 param : TEXCOORD1; // alphaClip, scale, bias, weight
|
||||
float4 mask : TEXCOORD2; // Position in object space(xy), pixel Size(zw)
|
||||
float3 viewDir : TEXCOORD3;
|
||||
|
||||
#if (UNDERLAY_ON || UNDERLAY_INNER)
|
||||
float4 texcoord2 : TEXCOORD4; // u,v, scale, bias
|
||||
fixed4 underlayColor : COLOR1;
|
||||
#endif
|
||||
|
||||
float4 textures : TEXCOORD5;
|
||||
};
|
||||
|
||||
// Used by Unity internally to handle Texture Tiling and Offset.
|
||||
float4 _FaceTex_ST;
|
||||
float4 _OutlineTex_ST;
|
||||
float _UIMaskSoftnessX;
|
||||
float _UIMaskSoftnessY;
|
||||
|
||||
pixel_t VertShader(vertex_t input)
|
||||
{
|
||||
pixel_t output;
|
||||
|
||||
UNITY_INITIALIZE_OUTPUT(pixel_t, output);
|
||||
UNITY_SETUP_INSTANCE_ID(input);
|
||||
UNITY_TRANSFER_INSTANCE_ID(input,output);
|
||||
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output);
|
||||
|
||||
float bold = step(input.texcoord0.w, 0);
|
||||
|
||||
float4 vert = input.position;
|
||||
vert.x += _VertexOffsetX;
|
||||
vert.y += _VertexOffsetY;
|
||||
|
||||
float4 vPosition = UnityObjectToClipPos(vert);
|
||||
|
||||
float2 pixelSize = vPosition.w;
|
||||
pixelSize /= float2(_ScaleX, _ScaleY) * abs(mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy));
|
||||
float scale = rsqrt(dot(pixelSize, pixelSize));
|
||||
scale *= abs(input.texcoord0.w) * _GradientScale * (_Sharpness + 1);
|
||||
if (UNITY_MATRIX_P[3][3] == 0) scale = lerp(abs(scale) * (1 - _PerspectiveFilter), scale, abs(dot(UnityObjectToWorldNormal(input.normal.xyz), normalize(WorldSpaceViewDir(vert)))));
|
||||
|
||||
float weight = lerp(_WeightNormal, _WeightBold, bold) / 4.0;
|
||||
weight = (weight + _FaceDilate) * _ScaleRatioA * 0.5;
|
||||
|
||||
float bias =(.5 - weight) + (.5 / scale);
|
||||
|
||||
float alphaClip = (1.0 - _OutlineWidth * _ScaleRatioA - _OutlineSoftness * _ScaleRatioA);
|
||||
|
||||
#if GLOW_ON
|
||||
alphaClip = min(alphaClip, 1.0 - _GlowOffset * _ScaleRatioB - _GlowOuter * _ScaleRatioB);
|
||||
#endif
|
||||
|
||||
alphaClip = alphaClip / 2.0 - ( .5 / scale) - weight;
|
||||
|
||||
#if (UNDERLAY_ON || UNDERLAY_INNER)
|
||||
float4 underlayColor = _UnderlayColor;
|
||||
underlayColor.rgb *= underlayColor.a;
|
||||
|
||||
float bScale = scale;
|
||||
bScale /= 1 + ((_UnderlaySoftness*_ScaleRatioC) * bScale);
|
||||
float bBias = (0.5 - weight) * bScale - 0.5 - ((_UnderlayDilate * _ScaleRatioC) * 0.5 * bScale);
|
||||
|
||||
float x = -(_UnderlayOffsetX * _ScaleRatioC) * _GradientScale / _TextureWidth;
|
||||
float y = -(_UnderlayOffsetY * _ScaleRatioC) * _GradientScale / _TextureHeight;
|
||||
float2 bOffset = float2(x, y);
|
||||
#endif
|
||||
|
||||
// Generate UV for the Masking Texture
|
||||
float4 clampedRect = clamp(_ClipRect, -2e10, 2e10);
|
||||
float2 maskUV = (vert.xy - clampedRect.xy) / (clampedRect.zw - clampedRect.xy);
|
||||
|
||||
// Support for texture tiling and offset
|
||||
float2 textureUV = input.texcoord1;
|
||||
float2 faceUV = TRANSFORM_TEX(textureUV, _FaceTex);
|
||||
float2 outlineUV = TRANSFORM_TEX(textureUV, _OutlineTex);
|
||||
|
||||
|
||||
output.position = vPosition;
|
||||
output.color = input.color;
|
||||
output.atlas = input.texcoord0;
|
||||
output.param = float4(alphaClip, scale, bias, weight);
|
||||
const half2 maskSoftness = half2(max(_UIMaskSoftnessX, _MaskSoftnessX), max(_UIMaskSoftnessY, _MaskSoftnessY));
|
||||
output.mask = half4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * maskSoftness + pixelSize.xy));
|
||||
output.viewDir = mul((float3x3)_EnvMatrix, _WorldSpaceCameraPos.xyz - mul(unity_ObjectToWorld, vert).xyz);
|
||||
#if (UNDERLAY_ON || UNDERLAY_INNER)
|
||||
output.texcoord2 = float4(input.texcoord0 + bOffset, bScale, bBias);
|
||||
output.underlayColor = underlayColor;
|
||||
#endif
|
||||
output.textures = float4(faceUV, outlineUV);
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
|
||||
fixed4 PixShader(pixel_t input) : SV_Target
|
||||
{
|
||||
UNITY_SETUP_INSTANCE_ID(input);
|
||||
|
||||
float c = tex2D(_MainTex, input.atlas).a;
|
||||
|
||||
#ifndef UNDERLAY_ON
|
||||
clip(c - input.param.x);
|
||||
#endif
|
||||
|
||||
float scale = input.param.y;
|
||||
float bias = input.param.z;
|
||||
float weight = input.param.w;
|
||||
float sd = (bias - c) * scale;
|
||||
|
||||
float outline = (_OutlineWidth * _ScaleRatioA) * scale;
|
||||
float softness = (_OutlineSoftness * _ScaleRatioA) * scale;
|
||||
|
||||
half4 faceColor = _FaceColor;
|
||||
half4 outlineColor = _OutlineColor;
|
||||
|
||||
faceColor.rgb *= input.color.rgb;
|
||||
|
||||
faceColor *= tex2D(_FaceTex, input.textures.xy + float2(_FaceUVSpeedX, _FaceUVSpeedY) * _Time.y);
|
||||
outlineColor *= tex2D(_OutlineTex, input.textures.zw + float2(_OutlineUVSpeedX, _OutlineUVSpeedY) * _Time.y);
|
||||
|
||||
faceColor = GetColor(sd, faceColor, outlineColor, outline, softness);
|
||||
|
||||
#if BEVEL_ON
|
||||
float3 dxy = float3(0.5 / _TextureWidth, 0.5 / _TextureHeight, 0);
|
||||
float3 n = GetSurfaceNormal(input.atlas, weight, dxy);
|
||||
|
||||
float3 bump = UnpackNormal(tex2D(_BumpMap, input.textures.xy + float2(_FaceUVSpeedX, _FaceUVSpeedY) * _Time.y)).xyz;
|
||||
bump *= lerp(_BumpFace, _BumpOutline, saturate(sd + outline * 0.5));
|
||||
n = normalize(n- bump);
|
||||
|
||||
float3 light = normalize(float3(sin(_LightAngle), cos(_LightAngle), -1.0));
|
||||
|
||||
float3 col = GetSpecular(n, light);
|
||||
faceColor.rgb += col*faceColor.a;
|
||||
faceColor.rgb *= 1-(dot(n, light)*_Diffuse);
|
||||
faceColor.rgb *= lerp(_Ambient, 1, n.z*n.z);
|
||||
|
||||
fixed4 reflcol = texCUBE(_Cube, reflect(input.viewDir, -n));
|
||||
faceColor.rgb += reflcol.rgb * lerp(_ReflectFaceColor.rgb, _ReflectOutlineColor.rgb, saturate(sd + outline * 0.5)) * faceColor.a;
|
||||
#endif
|
||||
|
||||
#if UNDERLAY_ON
|
||||
float d = tex2D(_MainTex, input.texcoord2.xy).a * input.texcoord2.z;
|
||||
faceColor += input.underlayColor * saturate(d - input.texcoord2.w) * (1 - faceColor.a);
|
||||
#endif
|
||||
|
||||
#if UNDERLAY_INNER
|
||||
float d = tex2D(_MainTex, input.texcoord2.xy).a * input.texcoord2.z;
|
||||
faceColor += input.underlayColor * (1 - saturate(d - input.texcoord2.w)) * saturate(1 - sd) * (1 - faceColor.a);
|
||||
#endif
|
||||
|
||||
#if GLOW_ON
|
||||
float4 glowColor = GetGlowColor(sd, scale);
|
||||
faceColor.rgb += glowColor.rgb * glowColor.a;
|
||||
#endif
|
||||
|
||||
// Alternative implementation to UnityGet2DClipping with support for softness.
|
||||
#if UNITY_UI_CLIP_RECT
|
||||
half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(input.mask.xy)) * input.mask.zw);
|
||||
faceColor *= m.x * m.y;
|
||||
#endif
|
||||
|
||||
#if UNITY_UI_ALPHACLIP
|
||||
clip(faceColor.a - 0.001);
|
||||
#endif
|
||||
|
||||
return faceColor * input.color.a;
|
||||
}
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
|
||||
Fallback "TextMeshPro/Mobile/Distance Field"
|
||||
CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI"
|
||||
}
|
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 68e6db2ebdc24f95958faec2be5558d6
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
126
Assets/Resources/TextMesh Pro/Shaders/TMP_Sprite.shader
Normal file
126
Assets/Resources/TextMesh Pro/Shaders/TMP_Sprite.shader
Normal file
@@ -0,0 +1,126 @@
|
||||
Shader "TextMeshPro/Sprite"
|
||||
{
|
||||
Properties
|
||||
{
|
||||
_MainTex ("Sprite Texture", 2D) = "white" {}
|
||||
_Color ("Tint", Color) = (1,1,1,1)
|
||||
|
||||
_StencilComp ("Stencil Comparison", Float) = 8
|
||||
_Stencil ("Stencil ID", Float) = 0
|
||||
_StencilOp ("Stencil Operation", Float) = 0
|
||||
_StencilWriteMask ("Stencil Write Mask", Float) = 255
|
||||
_StencilReadMask ("Stencil Read Mask", Float) = 255
|
||||
|
||||
_CullMode ("Cull Mode", Float) = 0
|
||||
_ColorMask ("Color Mask", Float) = 15
|
||||
_ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767)
|
||||
|
||||
[Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0
|
||||
}
|
||||
|
||||
SubShader
|
||||
{
|
||||
Tags
|
||||
{
|
||||
"Queue"="Transparent"
|
||||
"IgnoreProjector"="True"
|
||||
"RenderType"="Transparent"
|
||||
"PreviewType"="Plane"
|
||||
"CanUseSpriteAtlas"="True"
|
||||
}
|
||||
|
||||
Stencil
|
||||
{
|
||||
Ref [_Stencil]
|
||||
Comp [_StencilComp]
|
||||
Pass [_StencilOp]
|
||||
ReadMask [_StencilReadMask]
|
||||
WriteMask [_StencilWriteMask]
|
||||
}
|
||||
|
||||
Cull [_CullMode]
|
||||
Lighting Off
|
||||
ZWrite Off
|
||||
ZTest [unity_GUIZTestMode]
|
||||
Blend SrcAlpha OneMinusSrcAlpha
|
||||
ColorMask [_ColorMask]
|
||||
|
||||
Pass
|
||||
{
|
||||
Name "Default"
|
||||
CGPROGRAM
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
#pragma target 2.0
|
||||
|
||||
#include "UnityCG.cginc"
|
||||
#include "UnityUI.cginc"
|
||||
|
||||
#pragma multi_compile __ UNITY_UI_CLIP_RECT
|
||||
#pragma multi_compile __ UNITY_UI_ALPHACLIP
|
||||
|
||||
struct appdata_t
|
||||
{
|
||||
float4 vertex : POSITION;
|
||||
float4 color : COLOR;
|
||||
float2 texcoord : TEXCOORD0;
|
||||
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||
};
|
||||
|
||||
struct v2f
|
||||
{
|
||||
float4 vertex : SV_POSITION;
|
||||
fixed4 color : COLOR;
|
||||
float2 texcoord : TEXCOORD0;
|
||||
float4 worldPosition : TEXCOORD1;
|
||||
float4 mask : TEXCOORD2;
|
||||
UNITY_VERTEX_OUTPUT_STEREO
|
||||
};
|
||||
|
||||
sampler2D _MainTex;
|
||||
fixed4 _Color;
|
||||
fixed4 _TextureSampleAdd;
|
||||
float4 _ClipRect;
|
||||
float4 _MainTex_ST;
|
||||
float _UIMaskSoftnessX;
|
||||
float _UIMaskSoftnessY;
|
||||
|
||||
v2f vert(appdata_t v)
|
||||
{
|
||||
v2f OUT;
|
||||
UNITY_SETUP_INSTANCE_ID(v);
|
||||
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(OUT);
|
||||
float4 vPosition = UnityObjectToClipPos(v.vertex);
|
||||
OUT.worldPosition = v.vertex;
|
||||
OUT.vertex = vPosition;
|
||||
|
||||
float2 pixelSize = vPosition.w;
|
||||
pixelSize /= abs(mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy));
|
||||
|
||||
float4 clampedRect = clamp(_ClipRect, -2e10, 2e10);
|
||||
OUT.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex);
|
||||
OUT.mask = half4(v.vertex.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * half2(_UIMaskSoftnessX, _UIMaskSoftnessY) + abs(pixelSize.xy)));
|
||||
|
||||
OUT.color = v.color * _Color;
|
||||
return OUT;
|
||||
}
|
||||
|
||||
fixed4 frag(v2f IN) : SV_Target
|
||||
{
|
||||
half4 color = (tex2D(_MainTex, IN.texcoord) + _TextureSampleAdd) * IN.color;
|
||||
|
||||
#if UNITY_UI_CLIP_RECT
|
||||
half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(IN.mask.xy)) * IN.mask.zw);
|
||||
color *= m.x * m.y;
|
||||
#endif
|
||||
|
||||
#ifdef UNITY_UI_ALPHACLIP
|
||||
clip (color.a - 0.001);
|
||||
#endif
|
||||
|
||||
return color;
|
||||
}
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: cf81c85f95fe47e1a27f6ae460cf182c
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
84
Assets/Resources/TextMesh Pro/Shaders/TMPro.cginc
Normal file
84
Assets/Resources/TextMesh Pro/Shaders/TMPro.cginc
Normal file
@@ -0,0 +1,84 @@
|
||||
float2 UnpackUV(float uv)
|
||||
{
|
||||
float2 output;
|
||||
output.x = floor(uv / 4096);
|
||||
output.y = uv - 4096 * output.x;
|
||||
|
||||
return output * 0.001953125;
|
||||
}
|
||||
|
||||
fixed4 GetColor(half d, fixed4 faceColor, fixed4 outlineColor, half outline, half softness)
|
||||
{
|
||||
half faceAlpha = 1-saturate((d - outline * 0.5 + softness * 0.5) / (1.0 + softness));
|
||||
half outlineAlpha = saturate((d + outline * 0.5)) * sqrt(min(1.0, outline));
|
||||
|
||||
faceColor.rgb *= faceColor.a;
|
||||
outlineColor.rgb *= outlineColor.a;
|
||||
|
||||
faceColor = lerp(faceColor, outlineColor, outlineAlpha);
|
||||
|
||||
faceColor *= faceAlpha;
|
||||
|
||||
return faceColor;
|
||||
}
|
||||
|
||||
float3 GetSurfaceNormal(float4 h, float bias)
|
||||
{
|
||||
bool raisedBevel = step(1, fmod(_ShaderFlags, 2));
|
||||
|
||||
h += bias+_BevelOffset;
|
||||
|
||||
float bevelWidth = max(.01, _OutlineWidth+_BevelWidth);
|
||||
|
||||
// Track outline
|
||||
h -= .5;
|
||||
h /= bevelWidth;
|
||||
h = saturate(h+.5);
|
||||
|
||||
if(raisedBevel) h = 1 - abs(h*2.0 - 1.0);
|
||||
h = lerp(h, sin(h*3.141592/2.0), _BevelRoundness);
|
||||
h = min(h, 1.0-_BevelClamp);
|
||||
h *= _Bevel * bevelWidth * _GradientScale * -2.0;
|
||||
|
||||
float3 va = normalize(float3(1.0, 0.0, h.y - h.x));
|
||||
float3 vb = normalize(float3(0.0, -1.0, h.w - h.z));
|
||||
|
||||
return cross(va, vb);
|
||||
}
|
||||
|
||||
float3 GetSurfaceNormal(float2 uv, float bias, float3 delta)
|
||||
{
|
||||
// Read "height field"
|
||||
float4 h = {tex2D(_MainTex, uv - delta.xz).a,
|
||||
tex2D(_MainTex, uv + delta.xz).a,
|
||||
tex2D(_MainTex, uv - delta.zy).a,
|
||||
tex2D(_MainTex, uv + delta.zy).a};
|
||||
|
||||
return GetSurfaceNormal(h, bias);
|
||||
}
|
||||
|
||||
float3 GetSpecular(float3 n, float3 l)
|
||||
{
|
||||
float spec = pow(max(0.0, dot(n, l)), _Reflectivity);
|
||||
return _SpecularColor.rgb * spec * _SpecularPower;
|
||||
}
|
||||
|
||||
float4 GetGlowColor(float d, float scale)
|
||||
{
|
||||
float glow = d - (_GlowOffset*_ScaleRatioB) * 0.5 * scale;
|
||||
float t = lerp(_GlowInner, (_GlowOuter * _ScaleRatioB), step(0.0, glow)) * 0.5 * scale;
|
||||
glow = saturate(abs(glow/(1.0 + t)));
|
||||
glow = 1.0-pow(glow, _GlowPower);
|
||||
glow *= sqrt(min(1.0, t)); // Fade off glow thinner than 1 screen pixel
|
||||
return float4(_GlowColor.rgb, saturate(_GlowColor.a * glow * 2));
|
||||
}
|
||||
|
||||
float4 BlendARGB(float4 overlying, float4 underlying)
|
||||
{
|
||||
overlying.rgb *= overlying.a;
|
||||
underlying.rgb *= underlying.a;
|
||||
float3 blended = overlying.rgb + ((1-overlying.a)*underlying.rgb);
|
||||
float alpha = underlying.a + (1-underlying.a)*overlying.a;
|
||||
return float4(blended, alpha);
|
||||
}
|
||||
|
9
Assets/Resources/TextMesh Pro/Shaders/TMPro.cginc.meta
Normal file
9
Assets/Resources/TextMesh Pro/Shaders/TMPro.cginc.meta
Normal file
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 407bc68d299748449bbf7f48ee690f8d
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
userData: Version 2.0
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
165
Assets/Resources/TextMesh Pro/Shaders/TMPro_Mobile.cginc
Normal file
165
Assets/Resources/TextMesh Pro/Shaders/TMPro_Mobile.cginc
Normal file
@@ -0,0 +1,165 @@
|
||||
struct vertex_t
|
||||
{
|
||||
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||
float4 position : POSITION;
|
||||
float3 normal : NORMAL;
|
||||
float4 color : COLOR;
|
||||
float4 texcoord0 : TEXCOORD0;
|
||||
float2 texcoord1 : TEXCOORD1;
|
||||
};
|
||||
|
||||
struct pixel_t
|
||||
{
|
||||
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||
UNITY_VERTEX_OUTPUT_STEREO
|
||||
float4 position : SV_POSITION;
|
||||
float4 faceColor : COLOR;
|
||||
float4 outlineColor : COLOR1;
|
||||
float4 texcoord0 : TEXCOORD0;
|
||||
float4 param : TEXCOORD1; // x = weight, y = no longer used
|
||||
float2 mask : TEXCOORD2;
|
||||
#if (UNDERLAY_ON || UNDERLAY_INNER)
|
||||
float4 texcoord2 : TEXCOORD3;
|
||||
float4 underlayColor : COLOR2;
|
||||
#endif
|
||||
};
|
||||
|
||||
float4 SRGBToLinear(float4 rgba)
|
||||
{
|
||||
return float4(lerp(rgba.rgb / 12.92f, pow((rgba.rgb + 0.055f) / 1.055f, 2.4f), step(0.04045f, rgba.rgb)), rgba.a);
|
||||
}
|
||||
|
||||
float _UIMaskSoftnessX;
|
||||
float _UIMaskSoftnessY;
|
||||
|
||||
pixel_t VertShader(vertex_t input)
|
||||
{
|
||||
pixel_t output;
|
||||
|
||||
UNITY_INITIALIZE_OUTPUT(pixel_t, output);
|
||||
UNITY_SETUP_INSTANCE_ID(input);
|
||||
UNITY_TRANSFER_INSTANCE_ID(input, output);
|
||||
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output);
|
||||
|
||||
float bold = step(input.texcoord0.w, 0);
|
||||
|
||||
float4 vert = input.position;
|
||||
vert.x += _VertexOffsetX;
|
||||
vert.y += _VertexOffsetY;
|
||||
|
||||
float4 vPosition = UnityObjectToClipPos(vert);
|
||||
|
||||
float weight = lerp(_WeightNormal, _WeightBold, bold) / 4.0;
|
||||
weight = (weight + _FaceDilate) * _ScaleRatioA * 0.5;
|
||||
|
||||
// Generate UV for the Masking Texture
|
||||
float4 clampedRect = clamp(_ClipRect, -2e10, 2e10);
|
||||
float2 maskUV = (vert.xy - clampedRect.xy) / (clampedRect.zw - clampedRect.xy);
|
||||
|
||||
float4 color = input.color;
|
||||
#if (FORCE_LINEAR && !UNITY_COLORSPACE_GAMMA)
|
||||
color = SRGBToLinear(input.color);
|
||||
#endif
|
||||
|
||||
float opacity = color.a;
|
||||
#if (UNDERLAY_ON | UNDERLAY_INNER)
|
||||
opacity = 1.0;
|
||||
#endif
|
||||
|
||||
float4 faceColor = float4(color.rgb, opacity) * _FaceColor;
|
||||
faceColor.rgb *= faceColor.a;
|
||||
|
||||
float4 outlineColor = _OutlineColor;
|
||||
outlineColor.a *= opacity;
|
||||
outlineColor.rgb *= outlineColor.a;
|
||||
|
||||
output.position = vPosition;
|
||||
output.faceColor = faceColor;
|
||||
output.outlineColor = outlineColor;
|
||||
output.texcoord0 = float4(input.texcoord0.xy, maskUV.xy);
|
||||
output.param = float4(0.5 - weight, 0, _OutlineWidth * _ScaleRatioA * 0.5, 0);
|
||||
|
||||
float2 mask = float2(0, 0);
|
||||
#if UNITY_UI_CLIP_RECT
|
||||
mask = vert.xy * 2 - clampedRect.xy - clampedRect.zw;
|
||||
#endif
|
||||
output.mask = mask;
|
||||
|
||||
#if (UNDERLAY_ON || UNDERLAY_INNER)
|
||||
float4 underlayColor = _UnderlayColor;
|
||||
underlayColor.rgb *= underlayColor.a;
|
||||
|
||||
float x = -(_UnderlayOffsetX * _ScaleRatioC) * _GradientScale / _TextureWidth;
|
||||
float y = -(_UnderlayOffsetY * _ScaleRatioC) * _GradientScale / _TextureHeight;
|
||||
|
||||
output.texcoord2 = float4(input.texcoord0 + float2(x, y), input.color.a, 0);
|
||||
output.underlayColor = underlayColor;
|
||||
#endif
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
float4 PixShader(pixel_t input) : SV_Target
|
||||
{
|
||||
UNITY_SETUP_INSTANCE_ID(input);
|
||||
|
||||
float d = tex2D(_MainTex, input.texcoord0.xy).a;
|
||||
|
||||
float pixelSize = abs(ddx(input.texcoord0.y)) + abs(ddy(input.texcoord0.y));
|
||||
pixelSize *= _TextureHeight * 0.75;
|
||||
float scale = 1 / pixelSize * _GradientScale * (_Sharpness + 1);
|
||||
|
||||
#if (UNDERLAY_ON | UNDERLAY_INNER)
|
||||
float layerScale = scale;
|
||||
layerScale /= 1 + ((_UnderlaySoftness * _ScaleRatioC) * layerScale);
|
||||
float layerBias = input.param.x * layerScale - .5 - ((_UnderlayDilate * _ScaleRatioC) * .5 * layerScale);
|
||||
#endif
|
||||
|
||||
scale /= 1 + (_OutlineSoftness * _ScaleRatioA * scale);
|
||||
|
||||
float4 faceColor = input.faceColor * saturate((d - input.param.x) * scale + 0.5);
|
||||
|
||||
#if OUTLINE_ON
|
||||
float4 outlineColor = lerp(input.faceColor, input.outlineColor, sqrt(min(1.0, input.param.z * scale * 2)));
|
||||
faceColor = lerp(outlineColor, input.faceColor, saturate((d - input.param.x - input.param.z) * scale + 0.5));
|
||||
faceColor *= saturate((d - input.param.x + input.param.z) * scale + 0.5);
|
||||
#endif
|
||||
|
||||
#if UNDERLAY_ON
|
||||
d = tex2D(_MainTex, input.texcoord2.xy).a * layerScale;
|
||||
faceColor += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * saturate(d - layerBias) * (1 - faceColor.a);
|
||||
#endif
|
||||
|
||||
#if UNDERLAY_INNER
|
||||
float bias = input.param.x * scale - 0.5;
|
||||
float sd = saturate(d * scale - bias - input.param.z);
|
||||
d = tex2D(_MainTex, input.texcoord2.xy).a * layerScale;
|
||||
faceColor += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * (1 - saturate(d - layerBias)) * sd * (1 - faceColor.a);
|
||||
#endif
|
||||
|
||||
#if MASKING
|
||||
float a = abs(_MaskInverse - tex2D(_MaskTex, input.texcoord0.zw).a);
|
||||
float t = a + (1 - _MaskWipeControl) * _MaskEdgeSoftness - _MaskWipeControl;
|
||||
a = saturate(t / _MaskEdgeSoftness);
|
||||
faceColor.rgb = lerp(_MaskEdgeColor.rgb * faceColor.a, faceColor.rgb, a);
|
||||
faceColor *= a;
|
||||
#endif
|
||||
|
||||
// Alternative implementation to UnityGet2DClipping with support for softness
|
||||
#if UNITY_UI_CLIP_RECT
|
||||
half2 maskSoftness = half2(max(_UIMaskSoftnessX, _MaskSoftnessX), max(_UIMaskSoftnessY, _MaskSoftnessY));
|
||||
float2 maskZW = 0.25 / (0.25 * maskSoftness + 1 / scale);
|
||||
float2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(input.mask.xy)) * maskZW);
|
||||
faceColor *= m.x * m.y;
|
||||
#endif
|
||||
|
||||
#if (UNDERLAY_ON | UNDERLAY_INNER)
|
||||
faceColor *= input.texcoord2.z;
|
||||
#endif
|
||||
|
||||
#if UNITY_UI_ALPHACLIP
|
||||
clip(faceColor.a - 0.001);
|
||||
#endif
|
||||
|
||||
return faceColor;
|
||||
}
|
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c334973cef89a9840b0b0c507e0377ab
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
80
Assets/Resources/TextMesh Pro/Shaders/TMPro_Properties.cginc
Normal file
80
Assets/Resources/TextMesh Pro/Shaders/TMPro_Properties.cginc
Normal file
@@ -0,0 +1,80 @@
|
||||
// UI Editable properties
|
||||
uniform sampler2D _FaceTex; // Alpha : Signed Distance
|
||||
uniform float _FaceUVSpeedX;
|
||||
uniform float _FaceUVSpeedY;
|
||||
uniform fixed4 _FaceColor; // RGBA : Color + Opacity
|
||||
uniform float _FaceDilate; // v[ 0, 1]
|
||||
uniform float _OutlineSoftness; // v[ 0, 1]
|
||||
|
||||
uniform sampler2D _OutlineTex; // RGBA : Color + Opacity
|
||||
uniform float _OutlineUVSpeedX;
|
||||
uniform float _OutlineUVSpeedY;
|
||||
uniform fixed4 _OutlineColor; // RGBA : Color + Opacity
|
||||
uniform float _OutlineWidth; // v[ 0, 1]
|
||||
|
||||
uniform float _Bevel; // v[ 0, 1]
|
||||
uniform float _BevelOffset; // v[-1, 1]
|
||||
uniform float _BevelWidth; // v[-1, 1]
|
||||
uniform float _BevelClamp; // v[ 0, 1]
|
||||
uniform float _BevelRoundness; // v[ 0, 1]
|
||||
|
||||
uniform sampler2D _BumpMap; // Normal map
|
||||
uniform float _BumpOutline; // v[ 0, 1]
|
||||
uniform float _BumpFace; // v[ 0, 1]
|
||||
|
||||
uniform samplerCUBE _Cube; // Cube / sphere map
|
||||
uniform fixed4 _ReflectFaceColor; // RGB intensity
|
||||
uniform fixed4 _ReflectOutlineColor;
|
||||
//uniform float _EnvTiltX; // v[-1, 1]
|
||||
//uniform float _EnvTiltY; // v[-1, 1]
|
||||
uniform float3 _EnvMatrixRotation;
|
||||
uniform float4x4 _EnvMatrix;
|
||||
|
||||
uniform fixed4 _SpecularColor; // RGB intensity
|
||||
uniform float _LightAngle; // v[ 0,Tau]
|
||||
uniform float _SpecularPower; // v[ 0, 1]
|
||||
uniform float _Reflectivity; // v[ 5, 15]
|
||||
uniform float _Diffuse; // v[ 0, 1]
|
||||
uniform float _Ambient; // v[ 0, 1]
|
||||
|
||||
uniform fixed4 _UnderlayColor; // RGBA : Color + Opacity
|
||||
uniform float _UnderlayOffsetX; // v[-1, 1]
|
||||
uniform float _UnderlayOffsetY; // v[-1, 1]
|
||||
uniform float _UnderlayDilate; // v[-1, 1]
|
||||
uniform float _UnderlaySoftness; // v[ 0, 1]
|
||||
|
||||
uniform fixed4 _GlowColor; // RGBA : Color + Intesity
|
||||
uniform float _GlowOffset; // v[-1, 1]
|
||||
uniform float _GlowOuter; // v[ 0, 1]
|
||||
uniform float _GlowInner; // v[ 0, 1]
|
||||
uniform float _GlowPower; // v[ 1, 1/(1+4*4)]
|
||||
|
||||
// API Editable properties
|
||||
uniform float _ShaderFlags;
|
||||
uniform float _WeightNormal;
|
||||
uniform float _WeightBold;
|
||||
|
||||
uniform float _ScaleRatioA;
|
||||
uniform float _ScaleRatioB;
|
||||
uniform float _ScaleRatioC;
|
||||
|
||||
uniform float _VertexOffsetX;
|
||||
uniform float _VertexOffsetY;
|
||||
|
||||
//uniform float _UseClipRect;
|
||||
uniform float _MaskID;
|
||||
uniform sampler2D _MaskTex;
|
||||
uniform float4 _MaskCoord;
|
||||
uniform float4 _ClipRect; // bottom left(x,y) : top right(z,w)
|
||||
uniform float _MaskSoftnessX;
|
||||
uniform float _MaskSoftnessY;
|
||||
|
||||
// Font Atlas properties
|
||||
uniform sampler2D _MainTex;
|
||||
uniform float _TextureWidth;
|
||||
uniform float _TextureHeight;
|
||||
uniform float _GradientScale;
|
||||
uniform float _ScaleX;
|
||||
uniform float _ScaleY;
|
||||
uniform float _PerspectiveFilter;
|
||||
uniform float _Sharpness;
|
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3997e2241185407d80309a82f9148466
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
99
Assets/Resources/TextMesh Pro/Shaders/TMPro_Surface.cginc
Normal file
99
Assets/Resources/TextMesh Pro/Shaders/TMPro_Surface.cginc
Normal file
@@ -0,0 +1,99 @@
|
||||
void VertShader(inout appdata_full v, out Input data)
|
||||
{
|
||||
v.vertex.x += _VertexOffsetX;
|
||||
v.vertex.y += _VertexOffsetY;
|
||||
|
||||
UNITY_INITIALIZE_OUTPUT(Input, data);
|
||||
|
||||
float bold = step(v.texcoord.w, 0);
|
||||
|
||||
// Generate normal for backface
|
||||
float3 view = ObjSpaceViewDir(v.vertex);
|
||||
v.normal *= sign(dot(v.normal, view));
|
||||
|
||||
#if USE_DERIVATIVE
|
||||
data.param.y = 1;
|
||||
#else
|
||||
float4 vert = v.vertex;
|
||||
float4 vPosition = UnityObjectToClipPos(vert);
|
||||
float2 pixelSize = vPosition.w;
|
||||
|
||||
pixelSize /= float2(_ScaleX, _ScaleY) * mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy);
|
||||
float scale = rsqrt(dot(pixelSize, pixelSize));
|
||||
scale *= abs(v.texcoord.w) * _GradientScale * (_Sharpness + 1);
|
||||
scale = lerp(scale * (1 - _PerspectiveFilter), scale, abs(dot(UnityObjectToWorldNormal(v.normal.xyz), normalize(WorldSpaceViewDir(vert)))));
|
||||
data.param.y = scale;
|
||||
#endif
|
||||
|
||||
data.param.x = (lerp(_WeightNormal, _WeightBold, bold) / 4.0 + _FaceDilate) * _ScaleRatioA * 0.5; //
|
||||
data.viewDirEnv = mul((float3x3)_EnvMatrix, WorldSpaceViewDir(v.vertex));
|
||||
}
|
||||
|
||||
void PixShader(Input input, inout SurfaceOutput o)
|
||||
{
|
||||
|
||||
#if USE_DERIVATIVE
|
||||
float2 pixelSize = float2(ddx(input.uv_MainTex.y), ddy(input.uv_MainTex.y));
|
||||
pixelSize *= _TextureWidth * .75;
|
||||
float scale = rsqrt(dot(pixelSize, pixelSize)) * _GradientScale * (_Sharpness + 1);
|
||||
#else
|
||||
float scale = input.param.y;
|
||||
#endif
|
||||
|
||||
// Signed distance
|
||||
float c = tex2D(_MainTex, input.uv_MainTex).a;
|
||||
float sd = (.5 - c - input.param.x) * scale + .5;
|
||||
float outline = _OutlineWidth*_ScaleRatioA * scale;
|
||||
float softness = _OutlineSoftness*_ScaleRatioA * scale;
|
||||
|
||||
// Color & Alpha
|
||||
float4 faceColor = _FaceColor;
|
||||
float4 outlineColor = _OutlineColor;
|
||||
faceColor *= input.color;
|
||||
outlineColor.a *= input.color.a;
|
||||
faceColor *= tex2D(_FaceTex, float2(input.uv2_FaceTex.x + _FaceUVSpeedX * _Time.y, input.uv2_FaceTex.y + _FaceUVSpeedY * _Time.y));
|
||||
outlineColor *= tex2D(_OutlineTex, float2(input.uv2_OutlineTex.x + _OutlineUVSpeedX * _Time.y, input.uv2_OutlineTex.y + _OutlineUVSpeedY * _Time.y));
|
||||
faceColor = GetColor(sd, faceColor, outlineColor, outline, softness);
|
||||
faceColor.rgb /= max(faceColor.a, 0.0001);
|
||||
|
||||
#if BEVEL_ON
|
||||
float3 delta = float3(1.0 / _TextureWidth, 1.0 / _TextureHeight, 0.0);
|
||||
|
||||
float4 smp4x = {tex2D(_MainTex, input.uv_MainTex - delta.xz).a,
|
||||
tex2D(_MainTex, input.uv_MainTex + delta.xz).a,
|
||||
tex2D(_MainTex, input.uv_MainTex - delta.zy).a,
|
||||
tex2D(_MainTex, input.uv_MainTex + delta.zy).a };
|
||||
|
||||
// Face Normal
|
||||
float3 n = GetSurfaceNormal(smp4x, input.param.x);
|
||||
|
||||
// Bumpmap
|
||||
float3 bump = UnpackNormal(tex2D(_BumpMap, input.uv2_FaceTex.xy)).xyz;
|
||||
bump *= lerp(_BumpFace, _BumpOutline, saturate(sd + outline * 0.5));
|
||||
bump = lerp(float3(0, 0, 1), bump, faceColor.a);
|
||||
n = normalize(n - bump);
|
||||
|
||||
// Cubemap reflection
|
||||
fixed4 reflcol = texCUBE(_Cube, reflect(input.viewDirEnv, mul((float3x3)unity_ObjectToWorld, n)));
|
||||
float3 emission = reflcol.rgb * lerp(_ReflectFaceColor.rgb, _ReflectOutlineColor.rgb, saturate(sd + outline * 0.5)) * faceColor.a;
|
||||
#else
|
||||
float3 n = float3(0, 0, -1);
|
||||
float3 emission = float3(0, 0, 0);
|
||||
#endif
|
||||
|
||||
#if GLOW_ON
|
||||
float4 glowColor = GetGlowColor(sd, scale);
|
||||
glowColor.a *= input.color.a;
|
||||
emission += glowColor.rgb*glowColor.a;
|
||||
faceColor = BlendARGB(glowColor, faceColor);
|
||||
faceColor.rgb /= max(faceColor.a, 0.0001);
|
||||
#endif
|
||||
|
||||
// Set Standard output structure
|
||||
o.Albedo = faceColor.rgb;
|
||||
o.Normal = -n;
|
||||
o.Emission = emission;
|
||||
o.Specular = lerp(_FaceShininess, _OutlineShininess, saturate(sd + outline * 0.5));
|
||||
o.Gloss = 1;
|
||||
o.Alpha = faceColor.a;
|
||||
}
|
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d930090c0cd643c7b55f19a38538c162
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
8
Assets/Resources/cldr.meta
Normal file
8
Assets/Resources/cldr.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e31eaddb979b1384eaa248909aa0f05e
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
8
Assets/Resources/cldr/common.meta
Normal file
8
Assets/Resources/cldr/common.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a06c91500a9ca724a93d4aad3625076e
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
8
Assets/Resources/cldr/common/supplemental.meta
Normal file
8
Assets/Resources/cldr/common/supplemental.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6d9945fc6ef34534ab8f000757423c5a
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
451
Assets/Resources/cldr/common/supplemental/languageInfo.xml
Normal file
451
Assets/Resources/cldr/common/supplemental/languageInfo.xml
Normal file
@@ -0,0 +1,451 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE supplementalData SYSTEM "../../common/dtd/ldmlSupplemental.dtd">
|
||||
<!--
|
||||
Copyright © 1991-2020 Unicode, Inc.
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
-->
|
||||
<supplementalData>
|
||||
<version number="$Revision$"/>
|
||||
<languageMatching>
|
||||
<languageMatches type="written_new">
|
||||
<paradigmLocales locales="en en_GB es es_419 pt_BR pt_PT"/>
|
||||
<matchVariable id="$enUS" value="AS+CA+GU+MH+MP+PH+PR+UM+US+VI"/>
|
||||
<matchVariable id="$cnsar" value="HK+MO"/>
|
||||
<matchVariable id="$americas" value="019"/>
|
||||
<matchVariable id="$maghreb" value="MA+DZ+TN+LY+MR+EH"/>
|
||||
<languageMatch desired="nb" supported="no" distance="1"/> <!-- nb ⇒ no -->
|
||||
<!-- languageMatch desired="ku" supported="ckb" distance="4" oneway="true"/ --> <!-- ku ⇒ ckb -->
|
||||
<!-- languageMatch desired="ckb" supported="ku" percent="8" oneway="true"/ --> <!-- ckb ⇒ ku -->
|
||||
<languageMatch desired="hr" supported="bs" distance="4"/> <!-- hr ⇒ bs -->
|
||||
<languageMatch desired="sh" supported="bs" distance="4"/> <!-- sh ⇒ bs -->
|
||||
<!-- languageMatch desired="sr" supported="bs" distance="4"/--> <!-- sr ⇒ bs -->
|
||||
<languageMatch desired="sh" supported="hr" distance="4"/> <!-- sh ⇒ hr -->
|
||||
<!-- languageMatch desired="sr" supported="hr" distance="4"/--> <!-- sr ⇒ hr -->
|
||||
<languageMatch desired="sh" supported="sr" distance="4"/> <!-- sh ⇒ sr -->
|
||||
<languageMatch desired="ssy" supported="aa" distance="4"/> <!-- ssy ⇒ aa -->
|
||||
<languageMatch desired="gsw" supported="de" distance="4" oneway="true"/> <!-- gsw ⇒ de -->
|
||||
<languageMatch desired="lb" supported="de" distance="4" oneway="true"/> <!-- lb ⇒ de -->
|
||||
<languageMatch desired="da" supported="no" distance="8"/> <!-- da ⇒ no -->
|
||||
<languageMatch desired="da" supported="nb" distance="8"/> <!-- da ⇒ nb -->
|
||||
<!-- various fallbacks for more or less loosely related languages -->
|
||||
<!-- CLDR-13528:
|
||||
Distance 20 for some linguistic relation (e.g., Creoles to French)
|
||||
or a local language in the area of another (e.g., Breton to French).
|
||||
Distance 30 for fallbacks to prevalent second languages,
|
||||
and in the absence of better information. -->
|
||||
<languageMatch desired="ab" supported="ru" distance="30" oneway="true"/> <!-- Abkhazian: ab ⇒ ru -->
|
||||
<languageMatch desired="ach" supported="en" distance="30" oneway="true"/> <!-- Acoli (Southern Luo dialect in Uganda): ach ⇒ en -->
|
||||
<languageMatch desired="af" supported="nl" distance="20" oneway="true"/> <!-- Afrikaans: af ⇒ nl -->
|
||||
<languageMatch desired="ak" supported="en" distance="30" oneway="true"/> <!-- Akan: ak ⇒ en -->
|
||||
<languageMatch desired="am" supported="en" distance="30" oneway="true"/> <!-- Amharic ⇒ English -->
|
||||
<languageMatch desired="ay" supported="es" distance="20" oneway="true"/> <!-- Aymara: ay ⇒ es -->
|
||||
<languageMatch desired="az" supported="ru" distance="30" oneway="true"/> <!-- Azerbaijani: az ⇒ ru -->
|
||||
<languageMatch desired="bal" supported="ur" distance="20" oneway="true"/> <!-- Baluchi ⇒ Urdu -->
|
||||
<languageMatch desired="be" supported="ru" distance="20" oneway="true"/> <!-- Belarusian: be ⇒ ru -->
|
||||
<languageMatch desired="bem" supported="en" distance="30" oneway="true"/> <!-- Bemba (Zambia): bem ⇒ en -->
|
||||
<languageMatch desired="bh" supported="hi" distance="30" oneway="true"/> <!-- Bihari languages (gets canonicalized to bho): bh ⇒ hi -->
|
||||
<languageMatch desired="bn" supported="en" distance="30" oneway="true"/> <!-- Bangla: bn ⇒ en -->
|
||||
<languageMatch desired="bo" supported="zh" distance="20" oneway="true"/> <!-- Tibetan ⇒ Chinese -->
|
||||
<languageMatch desired="br" supported="fr" distance="20" oneway="true"/> <!-- Breton: br ⇒ fr -->
|
||||
<languageMatch desired="ca" supported="es" distance="20" oneway="true"/> <!-- Catalan ⇒ Spanish -->
|
||||
<languageMatch desired="ceb" supported="fil" distance="30" oneway="true"/> <!-- Cebuano: ceb ⇒ fil -->
|
||||
<languageMatch desired="chr" supported="en" distance="20" oneway="true"/> <!-- Cherokee: chr ⇒ en -->
|
||||
<languageMatch desired="ckb" supported="ar" distance="30" oneway="true"/> <!-- Sorani Kurdish: ckb ⇒ ar -->
|
||||
<languageMatch desired="co" supported="fr" distance="20" oneway="true"/> <!-- Corsican: co ⇒ fr -->
|
||||
<languageMatch desired="crs" supported="fr" distance="20" oneway="true"/> <!-- Seselwa Creole French: crs ⇒ fr -->
|
||||
<languageMatch desired="cs" supported="sk" distance="20"/> <!-- Czech ⇔ Slovak -->
|
||||
<languageMatch desired="cy" supported="en" distance="20" oneway="true"/> <!-- Welsh: cy ⇒ en -->
|
||||
<languageMatch desired="ee" supported="en" distance="30" oneway="true"/> <!-- Ewe: ee ⇒ en -->
|
||||
<languageMatch desired="eo" supported="en" distance="30" oneway="true"/> <!-- Esperanto: eo ⇒ en -->
|
||||
|
||||
<!-- CLDR-13650: No fallback for Estonian -->
|
||||
<!-- languageMatch desired="et" supported="fi" distance="30" oneway="true"/--> <!-- Estonian: et ⇒ fi -->
|
||||
|
||||
<languageMatch desired="eu" supported="es" distance="20" oneway="true"/> <!-- Basque: eu ⇒ es -->
|
||||
<languageMatch desired="fo" supported="da" distance="20" oneway="true"/> <!-- Faroese: fo ⇒ da -->
|
||||
<languageMatch desired="fy" supported="nl" distance="20" oneway="true"/> <!-- Western Frisian: fy ⇒ nl -->
|
||||
<languageMatch desired="ga" supported="en" distance="20" oneway="true"/> <!-- Irish: ga ⇒ en -->
|
||||
<languageMatch desired="gaa" supported="en" distance="30" oneway="true"/> <!-- Ga: gaa ⇒ en -->
|
||||
<languageMatch desired="gd" supported="en" distance="20" oneway="true"/> <!-- Scottish Gaelic: gd ⇒ en -->
|
||||
<languageMatch desired="gl" supported="es" distance="20" oneway="true"/> <!-- Galician: gl ⇒ es -->
|
||||
<languageMatch desired="gn" supported="es" distance="20" oneway="true"/> <!-- Guarani: gn ⇒ es -->
|
||||
<languageMatch desired="gu" supported="hi" distance="30" oneway="true"/> <!-- Gujarati: gu ⇒ hi -->
|
||||
<languageMatch desired="ha" supported="en" distance="30" oneway="true"/> <!-- Hausa: ha ⇒ en -->
|
||||
<languageMatch desired="haw" supported="en" distance="20" oneway="true"/> <!-- Hawaiian: haw ⇒ en -->
|
||||
<languageMatch desired="ht" supported="fr" distance="20" oneway="true"/> <!-- Haitian Creole: ht ⇒ fr -->
|
||||
<languageMatch desired="hy" supported="ru" distance="30" oneway="true"/> <!-- Armenian: hy ⇒ ru -->
|
||||
<languageMatch desired="ia" supported="en" distance="30" oneway="true"/> <!-- Interlingua: ia ⇒ en -->
|
||||
<languageMatch desired="ig" supported="en" distance="30" oneway="true"/> <!-- Igbo: ig ⇒ en -->
|
||||
<languageMatch desired="is" supported="en" distance="20" oneway="true"/> <!-- Icelandic: is ⇒ en -->
|
||||
<languageMatch desired="jv" supported="id" distance="20" oneway="true"/> <!-- Javanese: jv ⇒ id -->
|
||||
<languageMatch desired="ka" supported="en" distance="30" oneway="true"/> <!-- Georgian: ka ⇒ en -->
|
||||
<languageMatch desired="kg" supported="fr" distance="30" oneway="true"/> <!-- Kongo: kg ⇒ fr -->
|
||||
<languageMatch desired="kk" supported="ru" distance="30" oneway="true"/> <!-- Kazakh: kk ⇒ ru -->
|
||||
<languageMatch desired="km" supported="en" distance="30" oneway="true"/> <!-- Khmer: km ⇒ en -->
|
||||
<languageMatch desired="kn" supported="en" distance="30" oneway="true"/> <!-- Kannada: kn ⇒ en -->
|
||||
<languageMatch desired="kri" supported="en" distance="30" oneway="true"/> <!-- Krio: kri ⇒ en -->
|
||||
<languageMatch desired="ku" supported="tr" distance="30" oneway="true"/> <!-- Kurdish: ku ⇒ tr -->
|
||||
<languageMatch desired="ky" supported="ru" distance="30" oneway="true"/> <!-- Kirghiz: ky ⇒ ru -->
|
||||
<languageMatch desired="la" supported="it" distance="20" oneway="true"/> <!-- Latin: la ⇒ it -->
|
||||
<languageMatch desired="lg" supported="en" distance="30" oneway="true"/> <!-- Luganda: lg ⇒ en -->
|
||||
<languageMatch desired="ln" supported="fr" distance="30" oneway="true"/> <!-- Lingala: ln ⇒ fr -->
|
||||
<languageMatch desired="lo" supported="en" distance="30" oneway="true"/> <!-- Lao: lo ⇒ en -->
|
||||
<languageMatch desired="loz" supported="en" distance="30" oneway="true"/> <!-- Lozi: loz ⇒ en -->
|
||||
<languageMatch desired="lua" supported="fr" distance="30" oneway="true"/> <!-- Luba-Lulua: lua ⇒ fr -->
|
||||
<languageMatch desired="mai" supported="hi" distance="20" oneway="true"/> <!-- Maithili ⇒ Hindi -->
|
||||
<languageMatch desired="mfe" supported="en" distance="30" oneway="true"/> <!-- Morisyen: mfe ⇒ en -->
|
||||
<languageMatch desired="mg" supported="fr" distance="30" oneway="true"/> <!-- Malagasy: mg ⇒ fr -->
|
||||
<languageMatch desired="mi" supported="en" distance="20" oneway="true"/> <!-- Māori: mi ⇒ en -->
|
||||
|
||||
<!-- CLDR-13625: Macedonian should not fall back to Bulgarian -->
|
||||
<!-- languageMatch desired="mk" supported="bg" distance="30" oneway="true"/--> <!-- Macedonian: mk ⇒ bg -->
|
||||
|
||||
<languageMatch desired="ml" supported="en" distance="30" oneway="true"/> <!-- Malayalam: ml ⇒ en -->
|
||||
<languageMatch desired="mn" supported="ru" distance="30" oneway="true"/> <!-- Mongolian: mn ⇒ ru -->
|
||||
<languageMatch desired="mr" supported="hi" distance="30" oneway="true"/> <!-- Marathi: mr ⇒ hi -->
|
||||
<languageMatch desired="ms" supported="id" distance="30" oneway="true"/> <!-- Malay: ms ⇒ id -->
|
||||
<languageMatch desired="mt" supported="en" distance="30" oneway="true"/> <!-- Maltese: mt ⇒ en -->
|
||||
<languageMatch desired="my" supported="en" distance="30" oneway="true"/> <!-- Myanmar: my ⇒ en -->
|
||||
<languageMatch desired="ne" supported="en" distance="30" oneway="true"/> <!-- Nepali: ne ⇒ en -->
|
||||
<languageMatch desired="nn" supported="nb" distance="20"/> <!-- Nynorsk: nn ⟺ nb -->
|
||||
<languageMatch desired="nn" supported="no" distance="20"/> <!-- Nynorsk: nn ⟺ no; CLDR-13679 -->
|
||||
<languageMatch desired="nso" supported="en" distance="30" oneway="true"/> <!-- Northern Sotho: nso ⇒ en -->
|
||||
<languageMatch desired="ny" supported="en" distance="30" oneway="true"/> <!-- Nyanja: ny ⇒ en -->
|
||||
<languageMatch desired="nyn" supported="en" distance="30" oneway="true"/> <!-- Nyankole: nyn ⇒ en -->
|
||||
<languageMatch desired="oc" supported="fr" distance="20" oneway="true"/> <!-- Occitan: oc ⇒ fr -->
|
||||
<languageMatch desired="om" supported="en" distance="30" oneway="true"/> <!-- Oromo: om ⇒ en -->
|
||||
<languageMatch desired="or" supported="en" distance="30" oneway="true"/> <!-- Odia: or ⇒ en -->
|
||||
<languageMatch desired="pa" supported="en" distance="30" oneway="true"/> <!-- Punjabi: pa ⇒ en -->
|
||||
<languageMatch desired="pcm" supported="en" distance="20" oneway="true"/> <!-- Nigerian Pidgin: pcm ⇒ en -->
|
||||
<languageMatch desired="ps" supported="en" distance="30" oneway="true"/> <!-- Pashto: ps ⇒ en -->
|
||||
<languageMatch desired="qu" supported="es" distance="30" oneway="true"/> <!-- Quechua: qu ⇒ es -->
|
||||
<languageMatch desired="rm" supported="de" distance="20" oneway="true"/> <!-- Romansh: rm ⇒ de -->
|
||||
<languageMatch desired="rn" supported="en" distance="30" oneway="true"/> <!-- Rundi: rn ⇒ en -->
|
||||
<languageMatch desired="rw" supported="fr" distance="30" oneway="true"/> <!-- Kinyarwanda: rw ⇒ fr -->
|
||||
<languageMatch desired="sa" supported="hi" distance="30" oneway="true"/> <!-- Sanskrit: sa ⇒ hi -->
|
||||
<languageMatch desired="sd" supported="en" distance="30" oneway="true"/> <!-- Sindhi: sd ⇒ en -->
|
||||
<languageMatch desired="si" supported="en" distance="30" oneway="true"/> <!-- Sinhalese: si ⇒ en -->
|
||||
<languageMatch desired="sn" supported="en" distance="30" oneway="true"/> <!-- Shona: sn ⇒ en -->
|
||||
<languageMatch desired="so" supported="en" distance="30" oneway="true"/> <!-- Somali: so ⇒ en -->
|
||||
<languageMatch desired="sq" supported="en" distance="30" oneway="true"/> <!-- Albanian: sq ⇒ en -->
|
||||
<languageMatch desired="st" supported="en" distance="30" oneway="true"/> <!-- Southern Sotho: st ⇒ en -->
|
||||
<languageMatch desired="su" supported="id" distance="20" oneway="true"/> <!-- Sundanese: su ⇒ id -->
|
||||
<languageMatch desired="sw" supported="en" distance="30" oneway="true"/> <!-- Swahili: sw ⇒ en -->
|
||||
<languageMatch desired="ta" supported="en" distance="30" oneway="true"/> <!-- Tamil: ta ⇒ en -->
|
||||
<languageMatch desired="te" supported="en" distance="30" oneway="true"/> <!-- Telugu: te ⇒ en -->
|
||||
<languageMatch desired="tg" supported="ru" distance="30" oneway="true"/> <!-- Tajik: tg ⇒ ru -->
|
||||
<languageMatch desired="ti" supported="en" distance="30" oneway="true"/> <!-- Tigrinya: ti ⇒ en -->
|
||||
<languageMatch desired="tk" supported="ru" distance="30" oneway="true"/> <!-- Turkmen: tk ⇒ ru -->
|
||||
<languageMatch desired="tlh" supported="en" distance="30" oneway="true"/> <!-- Klingon: tlh ⇒ en -->
|
||||
<languageMatch desired="tn" supported="en" distance="30" oneway="true"/> <!-- Tswana: tn ⇒ en -->
|
||||
<languageMatch desired="to" supported="en" distance="30" oneway="true"/> <!-- Tonga: to ⇒ en -->
|
||||
<languageMatch desired="tt" supported="ru" distance="30" oneway="true"/> <!-- Tatar: tt ⇒ ru -->
|
||||
<languageMatch desired="tum" supported="en" distance="30" oneway="true"/> <!-- Tumbuka: tum ⇒ en -->
|
||||
<languageMatch desired="ug" supported="zh" distance="20" oneway="true"/> <!-- Uighur: ug ⇒ zh -->
|
||||
<languageMatch desired="uk" supported="ru" distance="20" oneway="true"/> <!-- Ukrainian ⇒ Russian -->
|
||||
<languageMatch desired="ur" supported="en" distance="30" oneway="true"/> <!-- Urdu: ur ⇒ en -->
|
||||
<languageMatch desired="uz" supported="ru" distance="30" oneway="true"/> <!-- Uzbek: uz ⇒ ru -->
|
||||
<languageMatch desired="wo" supported="fr" distance="30" oneway="true"/> <!-- Wolof: wo ⇒ fr -->
|
||||
<languageMatch desired="xh" supported="en" distance="30" oneway="true"/> <!-- Xhosa: xh ⇒ en -->
|
||||
<languageMatch desired="yi" supported="en" distance="30" oneway="true"/> <!-- Yiddish: yi ⇒ en -->
|
||||
<languageMatch desired="yo" supported="en" distance="30" oneway="true"/> <!-- Yoruba: yo ⇒ en -->
|
||||
<languageMatch desired="za" supported="zh" distance="20" oneway="true"/> <!-- Zhuang languages ⇒ Chinese -->
|
||||
<languageMatch desired="zu" supported="en" distance="30" oneway="true"/> <!-- Zulu: zu ⇒ en -->
|
||||
|
||||
<!-- START generated by GenerateLanguageMatches.java: don't manually change -->
|
||||
<!-- Encompassed by Arabic -->
|
||||
<languageMatch desired="aao" supported="ar" distance="10" oneway="true"/> <!-- Algerian Saharan Arabic -->
|
||||
<languageMatch desired="abh" supported="ar" distance="10" oneway="true"/> <!-- Tajiki Arabic -->
|
||||
<languageMatch desired="abv" supported="ar" distance="10" oneway="true"/> <!-- Baharna Arabic -->
|
||||
<languageMatch desired="acm" supported="ar" distance="10" oneway="true"/> <!-- Mesopotamian Arabic -->
|
||||
<languageMatch desired="acq" supported="ar" distance="10" oneway="true"/> <!-- Ta'izzi-Adeni Arabic -->
|
||||
<languageMatch desired="acw" supported="ar" distance="10" oneway="true"/> <!-- Hijazi Arabic -->
|
||||
<languageMatch desired="acx" supported="ar" distance="10" oneway="true"/> <!-- Omani Arabic -->
|
||||
<languageMatch desired="acy" supported="ar" distance="10" oneway="true"/> <!-- Cypriot Arabic -->
|
||||
<languageMatch desired="adf" supported="ar" distance="10" oneway="true"/> <!-- Dhofari Arabic -->
|
||||
<languageMatch desired="aeb" supported="ar" distance="10" oneway="true"/> <!-- Tunisian Arabic -->
|
||||
<languageMatch desired="aec" supported="ar" distance="10" oneway="true"/> <!-- Saidi Arabic -->
|
||||
<languageMatch desired="afb" supported="ar" distance="10" oneway="true"/> <!-- Gulf Arabic -->
|
||||
<languageMatch desired="ajp" supported="ar" distance="10" oneway="true"/> <!-- South Levantine Arabic -->
|
||||
<languageMatch desired="apc" supported="ar" distance="10" oneway="true"/> <!-- North Levantine Arabic -->
|
||||
<languageMatch desired="apd" supported="ar" distance="10" oneway="true"/> <!-- Sudanese Arabic -->
|
||||
<languageMatch desired="arq" supported="ar" distance="10" oneway="true"/> <!-- Algerian Arabic -->
|
||||
<languageMatch desired="ars" supported="ar" distance="10" oneway="true"/> <!-- Najdi Arabic -->
|
||||
<languageMatch desired="ary" supported="ar" distance="10" oneway="true"/> <!-- Moroccan Arabic -->
|
||||
<languageMatch desired="arz" supported="ar" distance="10" oneway="true"/> <!-- Egyptian Arabic -->
|
||||
<languageMatch desired="auz" supported="ar" distance="10" oneway="true"/> <!-- Uzbeki Arabic -->
|
||||
<languageMatch desired="avl" supported="ar" distance="10" oneway="true"/> <!-- Eastern Egyptian Bedawi Arabic -->
|
||||
<languageMatch desired="ayh" supported="ar" distance="10" oneway="true"/> <!-- Hadrami Arabic -->
|
||||
<languageMatch desired="ayl" supported="ar" distance="10" oneway="true"/> <!-- Libyan Arabic -->
|
||||
<languageMatch desired="ayn" supported="ar" distance="10" oneway="true"/> <!-- Sanaani Arabic -->
|
||||
<languageMatch desired="ayp" supported="ar" distance="10" oneway="true"/> <!-- North Mesopotamian Arabic -->
|
||||
<languageMatch desired="bbz" supported="ar" distance="10" oneway="true"/> <!-- Babalia Creole Arabic -->
|
||||
<languageMatch desired="pga" supported="ar" distance="10" oneway="true"/> <!-- Sudanese Creole Arabic -->
|
||||
<languageMatch desired="shu" supported="ar" distance="10" oneway="true"/> <!-- Chadian Arabic -->
|
||||
<languageMatch desired="ssh" supported="ar" distance="10" oneway="true"/> <!-- Shihhi Arabic -->
|
||||
<!-- Encompassed by Azerbaijani -->
|
||||
<languageMatch desired="azb" supported="az" distance="10" oneway="true"/> <!-- South Azerbaijani -->
|
||||
<!-- Encompassed by Estonian -->
|
||||
<languageMatch desired="vro" supported="et" distance="10" oneway="true"/> <!-- Võro -->
|
||||
<!-- Encompassed by Fulah -->
|
||||
<languageMatch desired="ffm" supported="ff" distance="10" oneway="true"/> <!-- Maasina Fulfulde -->
|
||||
<languageMatch desired="fub" supported="ff" distance="10" oneway="true"/> <!-- Adamawa Fulfulde -->
|
||||
<languageMatch desired="fue" supported="ff" distance="10" oneway="true"/> <!-- Borgu Fulfulde -->
|
||||
<languageMatch desired="fuf" supported="ff" distance="10" oneway="true"/> <!-- Pular -->
|
||||
<languageMatch desired="fuh" supported="ff" distance="10" oneway="true"/> <!-- Western Niger Fulfulde -->
|
||||
<languageMatch desired="fui" supported="ff" distance="10" oneway="true"/> <!-- Bagirmi Fulfulde -->
|
||||
<languageMatch desired="fuq" supported="ff" distance="10" oneway="true"/> <!-- Central-Eastern Niger Fulfulde -->
|
||||
<languageMatch desired="fuv" supported="ff" distance="10" oneway="true"/> <!-- Nigerian Fulfulde -->
|
||||
<!-- Encompassed by Guarani -->
|
||||
<languageMatch desired="gnw" supported="gn" distance="10" oneway="true"/> <!-- Western Bolivian Guaraní -->
|
||||
<languageMatch desired="gui" supported="gn" distance="10" oneway="true"/> <!-- Eastern Bolivian Guaraní -->
|
||||
<languageMatch desired="gun" supported="gn" distance="10" oneway="true"/> <!-- Mbyá Guaraní -->
|
||||
<languageMatch desired="nhd" supported="gn" distance="10" oneway="true"/> <!-- Chiripá -->
|
||||
<!-- Encompassed by Inuktitut -->
|
||||
<languageMatch desired="ikt" supported="iu" distance="10" oneway="true"/> <!-- Inuinnaqtun -->
|
||||
<!-- Encompassed by Kalenjin -->
|
||||
<languageMatch desired="enb" supported="kln" distance="10" oneway="true"/> <!-- Markweeta -->
|
||||
<languageMatch desired="eyo" supported="kln" distance="10" oneway="true"/> <!-- Keiyo -->
|
||||
<languageMatch desired="niq" supported="kln" distance="10" oneway="true"/> <!-- Nandi -->
|
||||
<languageMatch desired="oki" supported="kln" distance="10" oneway="true"/> <!-- Okiek -->
|
||||
<languageMatch desired="pko" supported="kln" distance="10" oneway="true"/> <!-- Pökoot -->
|
||||
<languageMatch desired="sgc" supported="kln" distance="10" oneway="true"/> <!-- Kipsigis -->
|
||||
<languageMatch desired="tec" supported="kln" distance="10" oneway="true"/> <!-- Terik -->
|
||||
<languageMatch desired="tuy" supported="kln" distance="10" oneway="true"/> <!-- Tugen -->
|
||||
<!-- Encompassed by Konkani -->
|
||||
<languageMatch desired="gom" supported="kok" distance="10" oneway="true"/> <!-- Goan Konkani -->
|
||||
<!-- Encompassed by Kpelle -->
|
||||
<languageMatch desired="gkp" supported="kpe" distance="10" oneway="true"/> <!-- Guinea Kpelle -->
|
||||
<!-- Encompassed by Luyia -->
|
||||
<languageMatch desired="ida" supported="luy" distance="10" oneway="true"/> <!-- Idakho-Isukha-Tiriki -->
|
||||
<languageMatch desired="lkb" supported="luy" distance="10" oneway="true"/> <!-- Kabras -->
|
||||
<languageMatch desired="lko" supported="luy" distance="10" oneway="true"/> <!-- Khayo -->
|
||||
<languageMatch desired="lks" supported="luy" distance="10" oneway="true"/> <!-- Kisa -->
|
||||
<languageMatch desired="lri" supported="luy" distance="10" oneway="true"/> <!-- Marachi -->
|
||||
<languageMatch desired="lrm" supported="luy" distance="10" oneway="true"/> <!-- Marama -->
|
||||
<languageMatch desired="lsm" supported="luy" distance="10" oneway="true"/> <!-- Saamia -->
|
||||
<languageMatch desired="lto" supported="luy" distance="10" oneway="true"/> <!-- Tsotso -->
|
||||
<languageMatch desired="lts" supported="luy" distance="10" oneway="true"/> <!-- Tachoni -->
|
||||
<languageMatch desired="lwg" supported="luy" distance="10" oneway="true"/> <!-- Wanga -->
|
||||
<languageMatch desired="nle" supported="luy" distance="10" oneway="true"/> <!-- East Nyala -->
|
||||
<languageMatch desired="nyd" supported="luy" distance="10" oneway="true"/> <!-- Nyore -->
|
||||
<languageMatch desired="rag" supported="luy" distance="10" oneway="true"/> <!-- Logooli -->
|
||||
<!-- Encompassed by Latvian -->
|
||||
<languageMatch desired="ltg" supported="lv" distance="10" oneway="true"/> <!-- Latgalian -->
|
||||
<!-- Encompassed by Malagasy -->
|
||||
<languageMatch desired="bhr" supported="mg" distance="10" oneway="true"/> <!-- Bara Malagasy -->
|
||||
<languageMatch desired="bjq" supported="mg" distance="10" oneway="true"/> <!-- Southern Betsimisaraka Malagasy -->
|
||||
<languageMatch desired="bmm" supported="mg" distance="10" oneway="true"/> <!-- Northern Betsimisaraka Malagasy -->
|
||||
<languageMatch desired="bzc" supported="mg" distance="10" oneway="true"/> <!-- Southern Betsimisaraka Malagasy -->
|
||||
<languageMatch desired="msh" supported="mg" distance="10" oneway="true"/> <!-- Masikoro Malagasy -->
|
||||
<languageMatch desired="skg" supported="mg" distance="10" oneway="true"/> <!-- Sakalava Malagasy -->
|
||||
<languageMatch desired="tdx" supported="mg" distance="10" oneway="true"/> <!-- Tandroy-Mahafaly Malagasy -->
|
||||
<languageMatch desired="tkg" supported="mg" distance="10" oneway="true"/> <!-- Tesaka Malagasy -->
|
||||
<languageMatch desired="txy" supported="mg" distance="10" oneway="true"/> <!-- Tanosy Malagasy -->
|
||||
<languageMatch desired="xmv" supported="mg" distance="10" oneway="true"/> <!-- Antankarana Malagasy -->
|
||||
<languageMatch desired="xmw" supported="mg" distance="10" oneway="true"/> <!-- Tsimihety Malagasy -->
|
||||
<!-- Encompassed by Mongolian -->
|
||||
<languageMatch desired="mvf" supported="mn" distance="10" oneway="true"/> <!-- Peripheral Mongolian -->
|
||||
<!-- Encompassed by Malay -->
|
||||
<languageMatch desired="bjn" supported="ms" distance="10" oneway="true"/> <!-- Banjar -->
|
||||
<languageMatch desired="btj" supported="ms" distance="10" oneway="true"/> <!-- Bacanese Malay -->
|
||||
<languageMatch desired="bve" supported="ms" distance="10" oneway="true"/> <!-- Berau Malay -->
|
||||
<languageMatch desired="bvu" supported="ms" distance="10" oneway="true"/> <!-- Bukit Malay -->
|
||||
<languageMatch desired="coa" supported="ms" distance="10" oneway="true"/> <!-- Cocos Islands Malay -->
|
||||
<languageMatch desired="dup" supported="ms" distance="10" oneway="true"/> <!-- Duano -->
|
||||
<languageMatch desired="hji" supported="ms" distance="10" oneway="true"/> <!-- Haji -->
|
||||
<languageMatch desired="id" supported="ms" distance="10" oneway="true"/> <!-- Indonesian -->
|
||||
<languageMatch desired="jak" supported="ms" distance="10" oneway="true"/> <!-- Jakun -->
|
||||
<languageMatch desired="jax" supported="ms" distance="10" oneway="true"/> <!-- Jambi Malay -->
|
||||
<languageMatch desired="kvb" supported="ms" distance="10" oneway="true"/> <!-- Kubu -->
|
||||
<languageMatch desired="kvr" supported="ms" distance="10" oneway="true"/> <!-- Kerinci -->
|
||||
<languageMatch desired="kxd" supported="ms" distance="10" oneway="true"/> <!-- Brunei -->
|
||||
<languageMatch desired="lce" supported="ms" distance="10" oneway="true"/> <!-- Loncong -->
|
||||
<languageMatch desired="lcf" supported="ms" distance="10" oneway="true"/> <!-- Lubu -->
|
||||
<languageMatch desired="liw" supported="ms" distance="10" oneway="true"/> <!-- Col -->
|
||||
<languageMatch desired="max" supported="ms" distance="10" oneway="true"/> <!-- North Moluccan Malay -->
|
||||
<languageMatch desired="meo" supported="ms" distance="10" oneway="true"/> <!-- Kedah Malay -->
|
||||
<languageMatch desired="mfa" supported="ms" distance="10" oneway="true"/> <!-- Pattani Malay -->
|
||||
<languageMatch desired="mfb" supported="ms" distance="10" oneway="true"/> <!-- Bangka -->
|
||||
<languageMatch desired="min" supported="ms" distance="10" oneway="true"/> <!-- Minangkabau -->
|
||||
<languageMatch desired="mqg" supported="ms" distance="10" oneway="true"/> <!-- Kota Bangun Kutai Malay -->
|
||||
<languageMatch desired="msi" supported="ms" distance="10" oneway="true"/> <!-- Sabah Malay -->
|
||||
<languageMatch desired="mui" supported="ms" distance="10" oneway="true"/> <!-- Musi -->
|
||||
<languageMatch desired="orn" supported="ms" distance="10" oneway="true"/> <!-- Orang Kanaq -->
|
||||
<languageMatch desired="ors" supported="ms" distance="10" oneway="true"/> <!-- Orang Seletar -->
|
||||
<languageMatch desired="pel" supported="ms" distance="10" oneway="true"/> <!-- Pekal -->
|
||||
<languageMatch desired="pse" supported="ms" distance="10" oneway="true"/> <!-- Central Malay -->
|
||||
<languageMatch desired="tmw" supported="ms" distance="10" oneway="true"/> <!-- Temuan -->
|
||||
<languageMatch desired="urk" supported="ms" distance="10" oneway="true"/> <!-- Urak Lawoi' -->
|
||||
<languageMatch desired="vkk" supported="ms" distance="10" oneway="true"/> <!-- Kaur -->
|
||||
<languageMatch desired="vkt" supported="ms" distance="10" oneway="true"/> <!-- Tenggarong Kutai Malay -->
|
||||
<languageMatch desired="xmm" supported="ms" distance="10" oneway="true"/> <!-- Manado Malay -->
|
||||
<languageMatch desired="zlm" supported="ms" distance="10" oneway="true"/> <!-- Malay (individual language) -->
|
||||
<languageMatch desired="zmi" supported="ms" distance="10" oneway="true"/> <!-- Negeri Sembilan Malay -->
|
||||
<!-- Encompassed by Nepali -->
|
||||
<languageMatch desired="dty" supported="ne" distance="10" oneway="true"/> <!-- Dotyali -->
|
||||
<!-- Encompassed by Oromo -->
|
||||
<languageMatch desired="gax" supported="om" distance="10" oneway="true"/> <!-- Borana-Arsi-Guji Oromo -->
|
||||
<languageMatch desired="hae" supported="om" distance="10" oneway="true"/> <!-- Eastern Oromo -->
|
||||
<languageMatch desired="orc" supported="om" distance="10" oneway="true"/> <!-- Orma -->
|
||||
<!-- Encompassed by Odia -->
|
||||
<languageMatch desired="spv" supported="or" distance="10" oneway="true"/> <!-- Sambalpuri -->
|
||||
<!-- Encompassed by Pashto -->
|
||||
<languageMatch desired="pbt" supported="ps" distance="10" oneway="true"/> <!-- Southern Pashto -->
|
||||
<languageMatch desired="pst" supported="ps" distance="10" oneway="true"/> <!-- Central Pashto -->
|
||||
<!-- Encompassed by Quechua -->
|
||||
<languageMatch desired="qub" supported="qu" distance="10" oneway="true"/> <!-- Huallaga Huánuco Quechua -->
|
||||
<languageMatch desired="qud" supported="qu" distance="10" oneway="true"/> <!-- Calderón Highland Quichua -->
|
||||
<languageMatch desired="quf" supported="qu" distance="10" oneway="true"/> <!-- Lambayeque Quechua -->
|
||||
<languageMatch desired="qug" supported="qu" distance="10" oneway="true"/> <!-- Chimborazo Highland Quichua -->
|
||||
<languageMatch desired="quh" supported="qu" distance="10" oneway="true"/> <!-- South Bolivian Quechua -->
|
||||
<languageMatch desired="quk" supported="qu" distance="10" oneway="true"/> <!-- Chachapoyas Quechua -->
|
||||
<languageMatch desired="qul" supported="qu" distance="10" oneway="true"/> <!-- North Bolivian Quechua -->
|
||||
<languageMatch desired="qup" supported="qu" distance="10" oneway="true"/> <!-- Southern Pastaza Quechua -->
|
||||
<languageMatch desired="qur" supported="qu" distance="10" oneway="true"/> <!-- Yanahuanca Pasco Quechua -->
|
||||
<languageMatch desired="qus" supported="qu" distance="10" oneway="true"/> <!-- Santiago del Estero Quichua -->
|
||||
<languageMatch desired="quw" supported="qu" distance="10" oneway="true"/> <!-- Tena Lowland Quichua -->
|
||||
<languageMatch desired="qux" supported="qu" distance="10" oneway="true"/> <!-- Yauyos Quechua -->
|
||||
<languageMatch desired="quy" supported="qu" distance="10" oneway="true"/> <!-- Ayacucho Quechua -->
|
||||
<languageMatch desired="qva" supported="qu" distance="10" oneway="true"/> <!-- Ambo-Pasco Quechua -->
|
||||
<languageMatch desired="qvc" supported="qu" distance="10" oneway="true"/> <!-- Cajamarca Quechua -->
|
||||
<languageMatch desired="qve" supported="qu" distance="10" oneway="true"/> <!-- Eastern Apurímac Quechua -->
|
||||
<languageMatch desired="qvh" supported="qu" distance="10" oneway="true"/> <!-- Huamalíes-Dos de Mayo Huánuco Quechua -->
|
||||
<languageMatch desired="qvi" supported="qu" distance="10" oneway="true"/> <!-- Imbabura Highland Quichua -->
|
||||
<languageMatch desired="qvj" supported="qu" distance="10" oneway="true"/> <!-- Loja Highland Quichua -->
|
||||
<languageMatch desired="qvl" supported="qu" distance="10" oneway="true"/> <!-- Cajatambo North Lima Quechua -->
|
||||
<languageMatch desired="qvm" supported="qu" distance="10" oneway="true"/> <!-- Margos-Yarowilca-Lauricocha Quechua -->
|
||||
<languageMatch desired="qvn" supported="qu" distance="10" oneway="true"/> <!-- North Junín Quechua -->
|
||||
<languageMatch desired="qvo" supported="qu" distance="10" oneway="true"/> <!-- Napo Lowland Quechua -->
|
||||
<languageMatch desired="qvp" supported="qu" distance="10" oneway="true"/> <!-- Pacaraos Quechua -->
|
||||
<languageMatch desired="qvs" supported="qu" distance="10" oneway="true"/> <!-- San Martín Quechua -->
|
||||
<languageMatch desired="qvw" supported="qu" distance="10" oneway="true"/> <!-- Huaylla Wanca Quechua -->
|
||||
<languageMatch desired="qvz" supported="qu" distance="10" oneway="true"/> <!-- Northern Pastaza Quichua -->
|
||||
<languageMatch desired="qwa" supported="qu" distance="10" oneway="true"/> <!-- Corongo Ancash Quechua -->
|
||||
<languageMatch desired="qwc" supported="qu" distance="10" oneway="true"/> <!-- Classical Quechua -->
|
||||
<languageMatch desired="qwh" supported="qu" distance="10" oneway="true"/> <!-- Huaylas Ancash Quechua -->
|
||||
<languageMatch desired="qws" supported="qu" distance="10" oneway="true"/> <!-- Sihuas Ancash Quechua -->
|
||||
<languageMatch desired="qxa" supported="qu" distance="10" oneway="true"/> <!-- Chiquián Ancash Quechua -->
|
||||
<languageMatch desired="qxc" supported="qu" distance="10" oneway="true"/> <!-- Chincha Quechua -->
|
||||
<languageMatch desired="qxh" supported="qu" distance="10" oneway="true"/> <!-- Panao Huánuco Quechua -->
|
||||
<languageMatch desired="qxl" supported="qu" distance="10" oneway="true"/> <!-- Salasaca Highland Quichua -->
|
||||
<languageMatch desired="qxn" supported="qu" distance="10" oneway="true"/> <!-- Northern Conchucos Ancash Quechua -->
|
||||
<languageMatch desired="qxo" supported="qu" distance="10" oneway="true"/> <!-- Southern Conchucos Ancash Quechua -->
|
||||
<languageMatch desired="qxp" supported="qu" distance="10" oneway="true"/> <!-- Puno Quechua -->
|
||||
<languageMatch desired="qxr" supported="qu" distance="10" oneway="true"/> <!-- Cañar Highland Quichua -->
|
||||
<languageMatch desired="qxt" supported="qu" distance="10" oneway="true"/> <!-- Santa Ana de Tusi Pasco Quechua -->
|
||||
<languageMatch desired="qxu" supported="qu" distance="10" oneway="true"/> <!-- Arequipa-La Unión Quechua -->
|
||||
<languageMatch desired="qxw" supported="qu" distance="10" oneway="true"/> <!-- Jauja Wanca Quechua -->
|
||||
<!-- Encompassed by Sardinian -->
|
||||
<languageMatch desired="sdc" supported="sc" distance="10" oneway="true"/> <!-- Sassarese Sardinian -->
|
||||
<languageMatch desired="sdn" supported="sc" distance="10" oneway="true"/> <!-- Gallurese Sardinian -->
|
||||
<languageMatch desired="sro" supported="sc" distance="10" oneway="true"/> <!-- Campidanese Sardinian -->
|
||||
<!-- Encompassed by Albanian -->
|
||||
<languageMatch desired="aae" supported="sq" distance="10" oneway="true"/> <!-- Arbëreshë Albanian -->
|
||||
<languageMatch desired="aat" supported="sq" distance="10" oneway="true"/> <!-- Arvanitika Albanian -->
|
||||
<languageMatch desired="aln" supported="sq" distance="10" oneway="true"/> <!-- Gheg Albanian -->
|
||||
<!-- Encompassed by Syriac -->
|
||||
<languageMatch desired="aii" supported="syr" distance="10" oneway="true"/> <!-- Assyrian Neo-Aramaic -->
|
||||
<!-- Encompassed by Uzbek -->
|
||||
<languageMatch desired="uzs" supported="uz" distance="10" oneway="true"/> <!-- Southern Uzbek -->
|
||||
<!-- Encompassed by Yiddish -->
|
||||
<languageMatch desired="yih" supported="yi" distance="10" oneway="true"/> <!-- Western Yiddish -->
|
||||
<!-- Encompassed by Chinese, Mandarin -->
|
||||
<languageMatch desired="cdo" supported="zh" distance="10" oneway="true"/> <!-- Min Dong Chinese -->
|
||||
<languageMatch desired="cjy" supported="zh" distance="10" oneway="true"/> <!-- Jinyu Chinese -->
|
||||
<languageMatch desired="cpx" supported="zh" distance="10" oneway="true"/> <!-- Pu-Xian Chinese -->
|
||||
<languageMatch desired="czh" supported="zh" distance="10" oneway="true"/> <!-- Huizhou Chinese -->
|
||||
<languageMatch desired="czo" supported="zh" distance="10" oneway="true"/> <!-- Min Zhong Chinese -->
|
||||
<languageMatch desired="gan" supported="zh" distance="10" oneway="true"/> <!-- Gan Chinese -->
|
||||
<languageMatch desired="hak" supported="zh" distance="10" oneway="true"/> <!-- Hakka Chinese -->
|
||||
<languageMatch desired="hsn" supported="zh" distance="10" oneway="true"/> <!-- Xiang Chinese -->
|
||||
<languageMatch desired="lzh" supported="zh" distance="10" oneway="true"/> <!-- Literary Chinese -->
|
||||
<languageMatch desired="mnp" supported="zh" distance="10" oneway="true"/> <!-- Min Bei Chinese -->
|
||||
<languageMatch desired="nan" supported="zh" distance="10" oneway="true"/> <!-- Min Nan Chinese -->
|
||||
<languageMatch desired="wuu" supported="zh" distance="10" oneway="true"/> <!-- Wu Chinese -->
|
||||
<languageMatch desired="yue" supported="zh" distance="10" oneway="true"/> <!-- Chinese, Cantonese -->
|
||||
<!-- END generated by GenerateLanguageMatches.java -->
|
||||
<languageMatch desired="*" supported="*" distance="80"/> <!-- * ⇒ * -->
|
||||
<languageMatch desired="am_Ethi" supported="en_Latn" distance="10" oneway="true"/>
|
||||
<languageMatch desired="az_Latn" supported="ru_Cyrl" distance="10" oneway="true"/> <!-- az; Latn ⇒ ru; Cyrl -->
|
||||
<languageMatch desired="bn_Beng" supported="en_Latn" distance="10" oneway="true"/> <!-- bn; Beng ⇒ en; Latn -->
|
||||
<languageMatch desired="bo_Tibt" supported="zh_Hans" distance="10" oneway="true"/>
|
||||
<languageMatch desired="hy_Armn" supported="ru_Cyrl" distance="10" oneway="true"/> <!-- hy; Armn ⇒ ru; Cyrl -->
|
||||
<languageMatch desired="ka_Geor" supported="en_Latn" distance="10" oneway="true"/> <!-- ka; Geor ⇒ en; Latn -->
|
||||
<languageMatch desired="km_Khmr" supported="en_Latn" distance="10" oneway="true"/> <!-- km; Khmr ⇒ en; Latn -->
|
||||
<languageMatch desired="kn_Knda" supported="en_Latn" distance="10" oneway="true"/> <!-- kn; Knda ⇒ en; Latn -->
|
||||
<languageMatch desired="lo_Laoo" supported="en_Latn" distance="10" oneway="true"/> <!-- lo; Laoo ⇒ en; Latn -->
|
||||
<languageMatch desired="ml_Mlym" supported="en_Latn" distance="10" oneway="true"/> <!-- ml; Mlym ⇒ en; Latn -->
|
||||
<languageMatch desired="my_Mymr" supported="en_Latn" distance="10" oneway="true"/> <!-- my; Mymr ⇒ en; Latn -->
|
||||
<languageMatch desired="ne_Deva" supported="en_Latn" distance="10" oneway="true"/> <!-- ne; Deva ⇒ en; Latn -->
|
||||
<languageMatch desired="or_Orya" supported="en_Latn" distance="10" oneway="true"/> <!-- or; Orya ⇒ en; Latn -->
|
||||
<languageMatch desired="pa_Guru" supported="en_Latn" distance="10" oneway="true"/> <!-- pa; Guru ⇒ en; Latn -->
|
||||
<languageMatch desired="ps_Arab" supported="en_Latn" distance="10" oneway="true"/> <!-- ps; Arab ⇒ en; Latn -->
|
||||
<languageMatch desired="sd_Arab" supported="en_Latn" distance="10" oneway="true"/> <!-- sd; Arab ⇒ en; Latn -->
|
||||
<languageMatch desired="si_Sinh" supported="en_Latn" distance="10" oneway="true"/> <!-- si; Sinh ⇒ en; Latn -->
|
||||
<languageMatch desired="ta_Taml" supported="en_Latn" distance="10" oneway="true"/> <!-- ta; Taml ⇒ en; Latn -->
|
||||
<languageMatch desired="te_Telu" supported="en_Latn" distance="10" oneway="true"/> <!-- te; Telu ⇒ en; Latn -->
|
||||
<languageMatch desired="ti_Ethi" supported="en_Latn" distance="10" oneway="true"/> <!-- ti; Ethi ⇒ en; Latn -->
|
||||
<languageMatch desired="tk_Latn" supported="ru_Cyrl" distance="10" oneway="true"/> <!-- tk; Latn ⇒ ru; Cyrl -->
|
||||
<languageMatch desired="ur_Arab" supported="en_Latn" distance="10" oneway="true"/> <!-- ur; Arab ⇒ en; Latn -->
|
||||
<languageMatch desired="uz_Latn" supported="ru_Cyrl" distance="10" oneway="true"/> <!-- uz; Latn ⇒ ru; Cyrl -->
|
||||
<languageMatch desired="yi_Hebr" supported="en_Latn" distance="10" oneway="true"/> <!-- yi; Hebr ⇒ en; Latn -->
|
||||
<languageMatch desired="sr_Latn" supported="sr_Cyrl" distance="5"/> <!-- sr; Latn ⇒ sr; Cyrl -->
|
||||
<languageMatch desired="za_Latn" supported="zh_Hans" distance="10" oneway="true"/>
|
||||
<!-- zh_Hani: Slightly bigger distance than zh_Hant->zh_Hans was before CLDR-14355 -->
|
||||
<languageMatch desired="zh_Hani" supported="zh_Hans" distance="20" oneway="true"/>
|
||||
<languageMatch desired="zh_Hani" supported="zh_Hant" distance="20" oneway="true"/>
|
||||
<!-- Latin transliterations of some languages, initially from CLDR-13577 -->
|
||||
<languageMatch desired="ar_Latn" supported="ar_Arab" distance="20" oneway="true"/>
|
||||
<languageMatch desired="bn_Latn" supported="bn_Beng" distance="20" oneway="true"/>
|
||||
<languageMatch desired="gu_Latn" supported="gu_Gujr" distance="20" oneway="true"/>
|
||||
<languageMatch desired="hi_Latn" supported="hi_Deva" distance="20" oneway="true"/>
|
||||
<languageMatch desired="kn_Latn" supported="kn_Knda" distance="20" oneway="true"/>
|
||||
<languageMatch desired="ml_Latn" supported="ml_Mlym" distance="20" oneway="true"/>
|
||||
<languageMatch desired="mr_Latn" supported="mr_Deva" distance="20" oneway="true"/>
|
||||
<languageMatch desired="ta_Latn" supported="ta_Taml" distance="20" oneway="true"/>
|
||||
<languageMatch desired="te_Latn" supported="te_Telu" distance="20" oneway="true"/>
|
||||
<languageMatch desired="zh_Latn" supported="zh_Hans" distance="20" oneway="true"/> <!-- Pinyin -->
|
||||
<!-- start fallbacks for group script codes, initially from CLDR-13526
|
||||
Look for plus signs on https://www.unicode.org/iso15924/iso15924-codes.html -->
|
||||
<languageMatch desired="ja_Latn" supported="ja_Jpan" distance="5" oneway="true"/>
|
||||
<languageMatch desired="ja_Hani" supported="ja_Jpan" distance="5" oneway="true"/>
|
||||
<languageMatch desired="ja_Hira" supported="ja_Jpan" distance="5" oneway="true"/>
|
||||
<languageMatch desired="ja_Kana" supported="ja_Jpan" distance="5" oneway="true"/>
|
||||
<languageMatch desired="ja_Hrkt" supported="ja_Jpan" distance="5" oneway="true"/>
|
||||
<languageMatch desired="ja_Hira" supported="ja_Hrkt" distance="5" oneway="true"/>
|
||||
<languageMatch desired="ja_Kana" supported="ja_Hrkt" distance="5" oneway="true"/>
|
||||
<languageMatch desired="ko_Hani" supported="ko_Kore" distance="5" oneway="true"/>
|
||||
<languageMatch desired="ko_Hang" supported="ko_Kore" distance="5" oneway="true"/>
|
||||
<languageMatch desired="ko_Jamo" supported="ko_Kore" distance="5" oneway="true"/>
|
||||
<languageMatch desired="ko_Jamo" supported="ko_Hang" distance="5" oneway="true"/>
|
||||
<!-- No special mappings for zh Bopo/Hanb
|
||||
because Bopomofo is used only in TW, and unsure how widely.
|
||||
No special mappings for styled scripts like Latf or Aran
|
||||
because those would apply to many languages;
|
||||
if desired, those would be better handled as matcher-specific script aliases. -->
|
||||
<!-- end fallbacks for group script codes -->
|
||||
<!-- default script mismatch distance -->
|
||||
<languageMatch desired="*_*" supported="*_*" distance="50"/> <!-- *; * ⇒ *; * -->
|
||||
|
||||
<languageMatch desired="ar_*_$maghreb" supported="ar_*_$maghreb" distance="4"/> <!-- ar; *; $maghreb ⇒ ar; *; $maghreb -->
|
||||
<languageMatch desired="ar_*_$!maghreb" supported="ar_*_$!maghreb" distance="4"/> <!-- ar; *; $!maghreb ⇒ ar; *; $!maghreb -->
|
||||
<languageMatch desired="ar_*_*" supported="ar_*_*" distance="5"/> <!-- ar; *; * ⇒ ar; *; * -->
|
||||
<languageMatch desired="en_*_$enUS" supported="en_*_$enUS" distance="4"/> <!-- en; *; $enUS ⇒ en; *; $enUS -->
|
||||
<languageMatch desired="en_*_$!enUS" supported="en_*_GB" distance="3"/> <!-- Make en_GB preferred... -->
|
||||
<languageMatch desired="en_*_$!enUS" supported="en_*_$!enUS" distance="4"/> <!-- en; *; $!enUS ⇒ en; *; $!enUS -->
|
||||
<languageMatch desired="en_*_*" supported="en_*_*" distance="5"/> <!-- en; *; * ⇒ en; *; * -->
|
||||
<languageMatch desired="es_*_$americas" supported="es_*_$americas" distance="4"/> <!-- es; *; $americas ⇒ es; *; $americas -->
|
||||
<languageMatch desired="es_*_$!americas" supported="es_*_$!americas" distance="4"/> <!-- es; *; $!americas ⇒ es; *; $!americas -->
|
||||
<languageMatch desired="es_*_*" supported="es_*_*" distance="5"/> <!-- es; *; * ⇒ es; *; * -->
|
||||
<languageMatch desired="pt_*_$americas" supported="pt_*_$americas" distance="4"/> <!-- pt; *; $americas ⇒ pt; *; $americas -->
|
||||
<languageMatch desired="pt_*_$!americas" supported="pt_*_$!americas" distance="4"/> <!-- pt; *; $!americas ⇒ pt; *; $!americas -->
|
||||
<languageMatch desired="pt_*_*" supported="pt_*_*" distance="5"/> <!-- pt; *; * ⇒ pt; *; * -->
|
||||
<languageMatch desired="zh_Hant_$cnsar" supported="zh_Hant_$cnsar" distance="4"/> <!-- zh; Hant; $cnsar ⇒ zh; Hant; $cnsar -->
|
||||
<languageMatch desired="zh_Hant_$!cnsar" supported="zh_Hant_$!cnsar" distance="4"/> <!-- zh; Hant; $!cnsar ⇒ zh; Hant; $!cnsar -->
|
||||
<languageMatch desired="zh_Hant_*" supported="zh_Hant_*" distance="5"/> <!-- zh; Hant; * ⇒ zh; Hant; * -->
|
||||
<languageMatch desired="*_*_*" supported="*_*_*" distance="4"/> <!-- *; *; * ⇒ *; *; * -->
|
||||
</languageMatches>
|
||||
</languageMatching>
|
||||
</supplementalData>
|
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 28e89533a55dcd2479f1925504591c0f
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
9494
Assets/Resources/cldr/common/supplemental/likelySubtags.xml
Normal file
9494
Assets/Resources/cldr/common/supplemental/likelySubtags.xml
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ca15a9e813e6772498e98f548d5cae88
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
1848
Assets/Resources/cldr/common/supplemental/supplementalMetadata.xml
Normal file
1848
Assets/Resources/cldr/common/supplemental/supplementalMetadata.xml
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9b574366c532ee74e8f3948783f9824b
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
8
Assets/Resources/cldr/common/validity.meta
Normal file
8
Assets/Resources/cldr/common/validity.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fad920a5b0edf4040afbba7d36f14c66
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
73
Assets/Resources/cldr/common/validity/currency.xml
Normal file
73
Assets/Resources/cldr/common/validity/currency.xml
Normal file
@@ -0,0 +1,73 @@
|
||||
<?xml version='1.0' encoding='UTF-8' ?>
|
||||
<!DOCTYPE supplementalData SYSTEM '../../common/dtd/ldmlSupplemental.dtd'>
|
||||
<!--
|
||||
Copyright © 1991-2023 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
GENERATED DATA — do not manually update!
|
||||
Generated by tool: GenerateValidityXml
|
||||
Tool documented on: http://cldr.unicode.org/development/updating-codes/update-validity-xml
|
||||
-->
|
||||
<supplementalData>
|
||||
<version number="$Revision$"/>
|
||||
<idValidity>
|
||||
<id type='currency' idStatus='regular'> <!-- 154 items -->
|
||||
AED AFN ALL AMD ANG AOA ARS AUD AWG AZN
|
||||
BAM BBD BDT BGN BHD BIF BMD BND BOB BRL BSD BTN BWP BYN BZD
|
||||
CAD CDF CHF CLP CNY COP CRC CUC CUP CVE CZK
|
||||
DJF DKK DOP DZD
|
||||
EGP ERN ETB EUR
|
||||
FJD FKP
|
||||
GBP GEL GHS GIP GMD GNF GTQ GYD
|
||||
HKD HNL HTG HUF
|
||||
IDR ILS INR IQD IRR ISK
|
||||
JMD JOD JPY
|
||||
KES KGS KHR KMF KPW KRW KWD KYD KZT
|
||||
LAK LBP LKR LRD LSL LYD
|
||||
MAD MDL MGA MKD MMK MNT MOP MRU MUR MVR MWK MXN MYR MZN
|
||||
NAD NGN NIO NOK NPR NZD
|
||||
OMR
|
||||
PAB PEN PGK PHP PKR PLN PYG
|
||||
QAR
|
||||
RON RSD RUB RWF
|
||||
SAR SBD SCR SDG SEK SGD SHP SLE SOS SRD SSP STN SYP SZL
|
||||
THB TJS TMT TND TOP TRY TTD TWD TZS
|
||||
UAH UGX USD UYU UZS
|
||||
VES VND VUV
|
||||
WST
|
||||
XAF XCD XOF XPF
|
||||
YER
|
||||
ZAR ZMW
|
||||
</id>
|
||||
<!-- Deprecated values are those that are not legal tender in some country after 2023.
|
||||
More detailed usage information needed for some implementations is in supplemental data. -->
|
||||
<id type='currency' idStatus='deprecated'> <!-- 150 items -->
|
||||
ADP AFA ALK AOK AON AOR ARA ARL~M ARP ATS AZM
|
||||
BAD BAN BEC BEF BEL BGL~M BGO BOL BOP BOV BRB~C BRE BRN BRR BRZ BUK BYB BYR
|
||||
CHE CHW CLE~F CNH CNX COU CSD CSK CYP
|
||||
DDM DEM
|
||||
ECS ECV EEK ESA~B ESP
|
||||
FIM FRF
|
||||
GEK GHC GNS GQE GRD GWE GWP
|
||||
HRD HRK
|
||||
IEP ILP ILR ISJ ITL
|
||||
KRH KRO
|
||||
LTL LTT LUC LUF LUL LVL LVR
|
||||
MAF MCF MDC MGF MKN MLF MRO MTL MTP MVP MXP MXV MZE MZM
|
||||
NIC NLG
|
||||
PEI PES PLZ PTE
|
||||
RHD ROL RUR
|
||||
SDD SDP SIT SKK SLL SRG STD SUR SVC
|
||||
TJR TMM TPE TRL
|
||||
UAK UGS USN USS UYI UYP UYW
|
||||
VEB VED VEF VNN
|
||||
XAG XAU XBA~D XDR XEU XFO XFU XPD XPT XRE XSU XTS XUA
|
||||
YDD YUD YUM~N YUR
|
||||
ZAL ZMK ZRN ZRZ ZWD ZWL ZWR
|
||||
</id>
|
||||
<id type='currency' idStatus='unknown'> <!-- 1 item -->
|
||||
XXX
|
||||
</id>
|
||||
</idValidity>
|
||||
</supplementalData>
|
7
Assets/Resources/cldr/common/validity/currency.xml.meta
Normal file
7
Assets/Resources/cldr/common/validity/currency.xml.meta
Normal file
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a294e0a8e25da0f41b99488499e64ce5
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
664
Assets/Resources/cldr/common/validity/language.xml
Normal file
664
Assets/Resources/cldr/common/validity/language.xml
Normal file
@@ -0,0 +1,664 @@
|
||||
<?xml version='1.0' encoding='UTF-8' ?>
|
||||
<!DOCTYPE supplementalData SYSTEM '../../common/dtd/ldmlSupplemental.dtd'>
|
||||
<!--
|
||||
Copyright © 1991-2022 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
GENERATED DATA — do not manually update!
|
||||
Generated by tool: GenerateValidityXml
|
||||
Tool documented on: http://cldr.unicode.org/development/updating-codes/update-validity-xml
|
||||
-->
|
||||
<supplementalData>
|
||||
<version number="$Revision$"/>
|
||||
<idValidity>
|
||||
<id type='language' idStatus='regular'> <!-- 7952 items -->
|
||||
aa aaa~i aak~l aan~q aas~x aaz
|
||||
ab aba~j abl~z
|
||||
aca~b acd~f ach~i ack~n acp~z
|
||||
ada~b add~j adl adn~o adq~u adw~z
|
||||
ae aea~e aek~n aeq~s aeu aew aey~z
|
||||
af afa~b afd~e afg~i afk afn~p afs~u afz
|
||||
aga~o agq~z
|
||||
aha~b ahg~i ahk~p ahr~t
|
||||
aia~r ait aiw~y
|
||||
aja ajg aji ajn ajp ajs ajw ajz
|
||||
ak akb~m ako~z
|
||||
ala alc~r alt~z
|
||||
am ama~c ame~g ami~z
|
||||
an ana~z
|
||||
aoa~g aoi~n aor~u aox aoz
|
||||
apa~z
|
||||
aqa aqc~d aqg aqk~n aqp aqr aqt aqz
|
||||
ar arc~e arh~l arn~z
|
||||
as asa~c ase~l asn~z
|
||||
ata~e atg~z
|
||||
aua~d auf~u auw~z
|
||||
av avb avd avi avk~o avs~v
|
||||
awa~e awg~i awk awm~o awr~y
|
||||
axb axe axg axk~m axx
|
||||
ay aya~e ayg~i ayk~l ayn~q ays~u ayz
|
||||
az aza~d azg azm~o azt azz
|
||||
ba baa~j bal ban~p bar~y
|
||||
bba~y
|
||||
bca~b bcd~k bcm~w bcy~z
|
||||
bda~z
|
||||
be bea~k bem beo~z
|
||||
bfa~u bfw~z
|
||||
bg bga~g bgi~l bgn~z
|
||||
bha~j bhl~z
|
||||
bi bia~b bid~g bik~r bit~z
|
||||
bja~c bje~p bjr~z
|
||||
bka bkc~d bkf~z
|
||||
bla~f blh~t blv~z
|
||||
bm bma~x bmz
|
||||
bn bna~g bni~z
|
||||
bo boa~b boe~r bot~z
|
||||
bpa bpc~e bpg~z
|
||||
bqa~d bqf~z
|
||||
br bra~d brf~z
|
||||
bs bsa~c bse~y
|
||||
bta btc~k btm~z
|
||||
bua~k bum~q bus~z
|
||||
bva~r bvt~z
|
||||
bwa~u bww~z
|
||||
bxa~j bxl~q bxs bxu~w bxz
|
||||
bya~t byv~x byz
|
||||
bza~z
|
||||
ca caa~s cau~z
|
||||
cba~d cbg cbi~l cbn~o cbq~w cby
|
||||
ccc~e ccg~h ccj ccl~p ccr~s
|
||||
cda cdc~f cdh~j cdm~o cdr~s cdy~z
|
||||
ce cea~b ceg cek~l cen cet cey
|
||||
cfa cfd cfg cfm
|
||||
cga cgc cgg cgk
|
||||
ch chb~d chf~h chj~r cht chw~z
|
||||
cia~e cih cik cim~n cip cir ciw ciy
|
||||
cja cje cjh~i cjk cjm~p cjs cjv cjy
|
||||
ckb ckh ckl~o ckq~v ckx~z
|
||||
cla clc cle clh~m clo clt~u clw cly
|
||||
cma cmc cme cmg cmi cml~m cmo cmr~t
|
||||
cna~c cng~i cnk~l cno~q cns~u cnw~x
|
||||
co coa~h coj~q cot~x coz
|
||||
cpa~c cpe~g cpi cpn~p cps cpu cpx~y
|
||||
cqd
|
||||
cr cra~d crf~t crv~z
|
||||
cs csa~z
|
||||
cta ctc~e ctg~h ctl~p cts~u cty~z
|
||||
cu cua~c cuh~l cuo~y
|
||||
cv cvg cvn
|
||||
cwa~b cwe cwg cwt
|
||||
cy cya~b cyo
|
||||
czh czk czn~o czt
|
||||
da daa dac~e dag~m dao daq~s dau~z
|
||||
dba~b dbd~g dbi~j dbl~r dbt~w dby
|
||||
dcc dcr
|
||||
dda ddd~e ddg ddi~j ddn~o ddr~s ddw
|
||||
de dec~i dek~n dep~s dev dez
|
||||
dga~e dgg~i dgk~l dgn dgr~t dgw~x dgz
|
||||
dhg dhi dhl~o dhr~s dhu~x
|
||||
dia~d dif~j dil~p dir~s diu diw~z
|
||||
dja~f dji~k djm~o djr dju djw
|
||||
dka dkg dkk dkr~s dkx
|
||||
dlg dlk dlm~n
|
||||
dma~g dmk~o dmr~s dmu~y
|
||||
dna dnd~e dng dni~k dnn~o dnr dnt~w dny
|
||||
doa~c doe~f doh~i dok~l don~t dov~z
|
||||
dpp
|
||||
dra~e drg dri drl drn~o drq drs~u dry
|
||||
dsb dse dsh~i dsl dsn~o dsq dsz
|
||||
dta~b dtd dth~i dtk dtm~p dtr~u dty
|
||||
dua~c due~i duk~s duu~z
|
||||
dv dva
|
||||
dwa dwk dwr~s dwu dww dwy~z
|
||||
dya~b dyd dyg dyi dym~o dyu dyy
|
||||
dz dza dze dzg dzl dzn
|
||||
eaa
|
||||
ebc ebg ebk ebo ebr ebu
|
||||
ecr~s ecy
|
||||
ee eee
|
||||
efa efe efi
|
||||
ega egl~m ego egx~y
|
||||
ehs ehu
|
||||
eip eit eiv
|
||||
eja
|
||||
eka eke ekg eki ekl~m eko~p ekr eky
|
||||
el ele elh~i elk elm elo elu elx
|
||||
ema~b eme emg emi emm~n emp~q ems emu emw~z
|
||||
en ena~d enf enh enl~o enq~r enu~x
|
||||
eo eot
|
||||
epi
|
||||
era erg~i erk ero err~t erw
|
||||
es ese esg~i esl~o esq ess esu esx~y
|
||||
et etb~c eth etn~o etr~u etx etz
|
||||
eu euq
|
||||
eve evh evn
|
||||
ewo
|
||||
ext
|
||||
eya eyo
|
||||
eza eze
|
||||
fa faa~b fad faf~n fap far fau fax~z
|
||||
fbl
|
||||
fcs
|
||||
fer
|
||||
ff ffi ffm
|
||||
fgr
|
||||
fi fia fie~f fil fip fir fit~u fiw
|
||||
fj
|
||||
fkk fkv
|
||||
fla flh~i fll fln flr fly
|
||||
fmp fmu
|
||||
fnb fng fni
|
||||
fo fod foi fom~n for~s fox
|
||||
fpe
|
||||
fqs
|
||||
fr frc~d frk frm fro~t
|
||||
fse fsl fss
|
||||
fub fud~f fuh~j fum~n fuq~r fut~v fuy
|
||||
fvr
|
||||
fwa fwe
|
||||
fy
|
||||
ga gaa~u gaw~y
|
||||
gba~b gbd~n gbp~s gbu~z
|
||||
gcc~f gcl gcn gcr gct
|
||||
gd gda~o gdq~u gdx
|
||||
gea~d gef~m geq ges gev~z
|
||||
gfk gft
|
||||
gga~b ggd~e ggg ggk~l ggt~u ggw
|
||||
gha ghc ghe ghh ghk~l ghn~o ghr~t
|
||||
gia~e gig~i gil~n gip~u giw~z
|
||||
gjk gjm~n gjr gju
|
||||
gka gkd~e gkn~p gku
|
||||
gl glb~d glh glj~l glo glr glu glw gly
|
||||
gma~b gmd~e gmg~h gml~n gmq~r gmu~z
|
||||
gn gna~e gng~n gnq~r gnt~u gnw gnz
|
||||
goa~z
|
||||
gpa gpe gpn
|
||||
gqa gqi gqn gqr gqu
|
||||
gra~d grg~k grm gro grq~z
|
||||
gse gsg gsl~p gss gsw
|
||||
gta gtu
|
||||
gu gua~f guh~i guk~u guw~x guz
|
||||
gv gva gvc gve~f gvj gvl~p gvr~s gvy
|
||||
gwa~g gwi~j gwm~n gwr gwt~u gww~x
|
||||
gxx
|
||||
gyb gyd~g gyi gyl~o gyr gyy~z
|
||||
gza gzi gzn
|
||||
ha haa~s hav~z
|
||||
hba~b hbn~o hbu
|
||||
hca hch
|
||||
hds hdy
|
||||
he hed heg~i hem
|
||||
hgm hgw
|
||||
hhi hhr hhy
|
||||
hi hia~b hid hif~l hio hir hit hiw~x
|
||||
hji
|
||||
hka hke hkh hkk hkn hks
|
||||
hla~b hld~e hlt~u
|
||||
hma~n hmp~z
|
||||
hna hnd~e hng~j hnn~o hns hnu
|
||||
ho hoa~e hoh~m hoo~p hor~t hov~w hoy~z
|
||||
hpo hps
|
||||
hr hra hrc hre hrk hrm hro~p hrt~u hrw~x hrz
|
||||
hsb hsh hsl hsn hss
|
||||
ht hti hto hts htu htx
|
||||
hu hub~m huo~z
|
||||
hvc hve hvk hvn hvv
|
||||
hwa hwc hwo
|
||||
hy hya hyw~x
|
||||
hz
|
||||
ia iai ian iar
|
||||
iba~b ibd~e ibg~h ibl~n ibr ibu iby
|
||||
ica ich icl icr
|
||||
id ida~e idi idr~u
|
||||
ie
|
||||
ifa~b ife~f ifk ifm ifu ify
|
||||
ig igb ige igg igl~o igs igw
|
||||
ihb ihi ihp ihw
|
||||
ii iin iir
|
||||
ijc ije ijj ijn~o ijs
|
||||
ik iki ikk~l iko~p ikr~t ikv~x ikz
|
||||
ila~b ilg ili ilk ilm ilo~p ils ilu~v
|
||||
ima imi iml imn~o imr~t imy
|
||||
inb~c ine ing~h inj inl~p ins~t inz
|
||||
io ior iou iow
|
||||
ipi ipo
|
||||
iqu iqw
|
||||
ira ire irh~i irk irn~o irr iru irx~y
|
||||
is isa isc~e isg~i isk ism~o isr ist~u
|
||||
it itb~e iti itk~m ito itr~t itv~z
|
||||
iu ium
|
||||
ivb ivv
|
||||
iwk iwm iwo iws
|
||||
ixc ixl
|
||||
iya iyo iyx
|
||||
izh izr izz
|
||||
ja jaa~f jah jaj~o jaq jas~u jax~z
|
||||
jbe jbi~k jbm~o jbr jbt~u jbw
|
||||
jcs~t
|
||||
jda jdg jdt
|
||||
jeb jee jeh~i jek~l jen jer jet~u
|
||||
jgb jge jgk jgo
|
||||
jhi jhs
|
||||
jia~e jig~i jil~m jio jiq jit~v jiy
|
||||
jje jjr
|
||||
jka jkm jko~p jkr~s jku
|
||||
jle jls
|
||||
jma~d jmi jml jmn jmr~s jmw~x
|
||||
jna jnd jng jni~j jnl jns
|
||||
job jod jog jor~s jow
|
||||
jpa jpr jpx
|
||||
jqr
|
||||
jra~b jrr jrt~u
|
||||
jsl
|
||||
jua~d juh~i juk~p jur~u juw juy
|
||||
jv jvd jvn
|
||||
jwi
|
||||
jya jye jyy
|
||||
ka kaa~k kam kao~r kav~y
|
||||
kba~e kbg~z
|
||||
kca~z
|
||||
kda kdc~r kdt~u kdw~z
|
||||
kea~z
|
||||
kfa~z
|
||||
kg kga~b kge~g kgi~y
|
||||
kha~j khl khn~z
|
||||
ki kia~j kil~m kio~q kis~z
|
||||
kj kja~e kjg~v kjx~z
|
||||
kk kka~z
|
||||
kl kla~z
|
||||
km kma~q kms~z
|
||||
kn kna~b knd~f kni~m kno~z
|
||||
ko koa koc~i kok~l koo~q kos~w koy~z
|
||||
kpa~o kpq~u kpw~z
|
||||
kqa~z
|
||||
kr kra~f krh~l krn~p krr~z
|
||||
ks ksa~z
|
||||
kta~q kts~z
|
||||
ku kub~q kus~z
|
||||
kv kva~r kvt~z
|
||||
kw kwa~p kwr~z
|
||||
kxa~d kxf kxh~k kxm~t kxv~z
|
||||
ky kya~z
|
||||
kza~g kzi kzk~s kzu~z
|
||||
la laa~j lal~n lap~s lau law~z
|
||||
lb lbb~c lbe~g lbi~j lbl~o lbq~z
|
||||
lcc~f lch lcl~m lcp~q lcs
|
||||
lda~b ldd ldg~q
|
||||
lea~f leh~z
|
||||
lfa lfn
|
||||
lg lga~b lgg~i lgk~o lgq~r lgt~u lgz
|
||||
lha lhh~i lhl~n lhp lhs~u
|
||||
li lia~h lij~l lio~s liu~z
|
||||
lja lje lji ljl ljp ljw~x
|
||||
lka~e lkh~j lkl~o lkr~u lky
|
||||
lla~n llp~q lls llu llx
|
||||
lma~l lmn~r lmu~y
|
||||
ln lna~b lnd lng~j lnl~n lns lnu lnw lnz
|
||||
lo loa~c loe~z
|
||||
lpa lpe lpn~o lpx
|
||||
lqr
|
||||
lra lrc lre lrg lri lrk~o lrr lrt lrv lrz
|
||||
lsa~e lsh~i lsl~p lsr~t lsv~w lsy
|
||||
lt ltc ltg~i ltn~o lts ltu
|
||||
lu lua luc~f lui~w luy~z
|
||||
lv lva lvi lvk lvu
|
||||
lwa lwe lwg~h lwl~m lwo lws~u lww
|
||||
lxm
|
||||
lya lyg lyn
|
||||
lzh lzl lzn lzz
|
||||
maa~b mad~g mai~k mam~n map~q mas~x maz
|
||||
mba~f mbh~z
|
||||
mca~z
|
||||
mda~n mdp~z
|
||||
mea~f meh~w mey~z
|
||||
mfa~z
|
||||
mg mga~w mgy~z
|
||||
mh mha~g mhi~q mhs~u mhw~z
|
||||
mi mia~r mit~u miw~z
|
||||
mjb~e mjg~z
|
||||
mk mka~c mke~z
|
||||
ml mla~c mle~f mlh~s mlu~x mlz
|
||||
mma~r mmt~z
|
||||
mn mna~j mnl~s mnu~z
|
||||
moa moc~e mog~k mom moo~z
|
||||
mpa~e mpg~z
|
||||
mqa~c mqe~z
|
||||
mr mra~h mrj~z
|
||||
ms msb~s msu~z
|
||||
mt mta~y
|
||||
mua~e mug~k mum~o muq~v mux~z
|
||||
mva~b mvd~i mvk~l mvn~z
|
||||
mwa~c mwe~i mwk~w mwz
|
||||
mxa~z
|
||||
my myb~c mye~h myj~p myr~s myu~z
|
||||
mza~e mzg~z
|
||||
na naa~c nae~t naw~z
|
||||
nb nba~e nbg~k nbm~w nby
|
||||
nca~o ncq~u ncx ncz
|
||||
nd nda~d ndf~n ndp~z
|
||||
ne nea~k nem~o neq~z
|
||||
nfa nfd nfl nfr nfu
|
||||
ng nga~n ngp~z
|
||||
nha~i nhk nhm~r nht~z
|
||||
nia~o niq~z
|
||||
nja~b njd njh~j njl~o njr~u njx~z
|
||||
nka~k nkm~x nkz
|
||||
nl nla nlc nle nlg nli~m nlo nlq nlu~z
|
||||
nma~z
|
||||
nn nna~n nnp~r nnt~w nny~z
|
||||
no noa noc~n nop~q nos~w noy~z
|
||||
npa~b npg~h npl npn~o nps npu npx~y
|
||||
nqg nqk~o nqq nqt nqy
|
||||
nr nra~c nre~g nri nrk~n nrp nrr nrt~u nrx nrz
|
||||
nsa~i nsk~z
|
||||
ntd~e ntg nti~k ntm nto~p ntr ntu ntw~z
|
||||
nua~z
|
||||
nv nvh nvm nvo
|
||||
nwa~c nwe nwg nwi nwm nwo nwr nww~y
|
||||
nxa nxd~e nxg nxi nxk~o nxq~r nxx
|
||||
ny nyb~y
|
||||
nza~b nzd nzi nzk nzm nzs nzu nzy~z
|
||||
oaa oac oar oav
|
||||
obi obk~m obo obr obt~u
|
||||
oc oca och ocm oco ocu
|
||||
oda odk odt~u
|
||||
ofo ofs ofu
|
||||
ogb~c oge ogg ogo ogu
|
||||
oht~u
|
||||
oia oie oin
|
||||
oj ojb~c ojp ojs ojv~w
|
||||
oka~e okg~o okr~s oku~v okx okz
|
||||
ola old~e olk olm olo olr olt~u
|
||||
om oma~c omg omi omk~l omn~r omt~y
|
||||
ona~b one ong oni~k onn~p onr~u onw~x
|
||||
ood oog oon oor~s
|
||||
opa opk opm opo opt opy
|
||||
or ora orc ore org~h orn~o orr~x orz
|
||||
os osa osc osi osn~p ost~u osx
|
||||
ota~b otd~e oti otk~o otq~u otw~z
|
||||
oua~b oue oui oum
|
||||
ovd
|
||||
owi owl
|
||||
oyb oyd oym oyy
|
||||
ozm
|
||||
pa paa~i pak~m pao~s pau~z
|
||||
pbb~c pbe~i pbl~p pbr~t pbv pby
|
||||
pca~n pcp pcw
|
||||
pda pdc pdi pdn~o pdt~u
|
||||
pea~b ped~m peo~q pev pex~z
|
||||
pfa pfe pfl
|
||||
pga pgd pgg pgi pgk~l pgn pgs pgu pgz
|
||||
pha phd phg~o phq~r pht~w
|
||||
pi pia~h pij pil~p pir~z
|
||||
pjt
|
||||
pka~c pkg~h pkn~p pkr~u
|
||||
pl pla~h plj~l pln~o plq~s plu~w ply~z
|
||||
pma~b pmd~f pmh~o pmq~t pmw~z
|
||||
pna pnc~e png~z
|
||||
poc poe~i pok pom~q pos~t pov~z
|
||||
ppe ppi ppk~q pps~u
|
||||
pqa pqe pqm pqw
|
||||
pra prc~i prk~r prt~u prw~x prz
|
||||
ps psa psc~e psg~i psl~u psw psy
|
||||
pt pta pth~i ptn~r ptt~w pty
|
||||
pua~g pui~j pum puo~r put~u puw~y
|
||||
pwa~b pwg pwi pwm~o pwr pww
|
||||
pxm
|
||||
pye pym~n pys pyu pyx~y
|
||||
pzh pzn
|
||||
qu qua~d quf~i quk~n qup~s quv~y
|
||||
qva qvc qve qvh~j qvl~p qvs qvw qvy~z
|
||||
qwa qwc qwe qwh qwm qws~t
|
||||
qxa qxc qxh qxl qxn~u qxw
|
||||
qya qyp
|
||||
raa~d raf~z
|
||||
rbb rbk~l rbp
|
||||
rcf
|
||||
rdb
|
||||
rea~b ree reg rei~j rel~n rer~t rey
|
||||
rga rge rgk rgn rgr~s rgu
|
||||
rhg rhp
|
||||
ria~b rif ril~n rir rit~u
|
||||
rjg rji rjs
|
||||
rka~b rkh~i rkm rkt rkw
|
||||
rm rma~i rmk~q rms~x rmz
|
||||
rn rnb rnd rng rnl rnn rnp rnr rnw
|
||||
ro roa~g rol~m roo~p ror rou row
|
||||
rpn rpt
|
||||
rri rro rrt
|
||||
rsb rsk~n
|
||||
rtc rth rtm rts rtw
|
||||
ru rub~c rue~i ruk ruo~q rut~u ruy~z
|
||||
rw rwa rwk~m rwo rwr
|
||||
rxd rxw
|
||||
ryn rys ryu
|
||||
rzh
|
||||
sa saa~f sah~m sao saq~z
|
||||
sba~z
|
||||
sc scb sce~i sck~l scn~q scs~x
|
||||
sd sda~c sde~h sdj~l sdn~v sdx sdz
|
||||
se sea~w sey~z
|
||||
sfb sfe sfm sfs sfw
|
||||
sg sga~e sgg~k sgm~n sgp sgr~u sgw~z
|
||||
sha~e shg~z
|
||||
si sia~b sid~m sio~z
|
||||
sja~b sjd~e sjg sjk~p sjr~u sjw
|
||||
sk ska~j skm~z
|
||||
sl sla slc~j sll~n slp~u slw~z
|
||||
sm sma~c smf~n smp~z
|
||||
sn snc sne~g sni~s snu~z
|
||||
so soa~e sog~l son~s sou~z
|
||||
spb~e spg spi spk~v spx
|
||||
sq sqa sqh sqj~k sqm~o sqq~u sqx
|
||||
sr sra~b sre~i srk~o srq~z
|
||||
ss ssa~v ssx~z
|
||||
st sta~b std~w sty
|
||||
su sua~c sue sug sui~k suo suq~t suv~z
|
||||
sv sva~c sve svk svm svs svx
|
||||
sw swb swf~g swi~y
|
||||
sxb~c sxe sxg sxk~o sxr~s sxu sxw
|
||||
sya~d syi syk~o syr~s syw~y
|
||||
sza~e szg szl szn szp szs szv~w szy
|
||||
ta taa~g tai~l tan~s tau~z
|
||||
tba tbc~z
|
||||
tca~i tck~q tcs~u tcw~z
|
||||
tda~o tdq~t tdv tdx~y
|
||||
te tea~i tek tem~z
|
||||
tfi tfn~o tfr tft
|
||||
tg tga~f tgh~j tgn~z
|
||||
th thd~f thh~i thk~n thp~v thy~z
|
||||
ti tia tic tif~q tis~z
|
||||
tja tjg tji~j tjl~p tjs tju tjw
|
||||
tk tka~b tkd~g tkl~n tkp~x tkz
|
||||
tla~d tlf~v tlx~y
|
||||
tma~o tmq~w tmy~z
|
||||
tn tna~d tng~i tnk~z
|
||||
to tob~d tof~m too~s tou~z
|
||||
tpa tpc tpe~g tpi~r tpt~z
|
||||
tqb tql~r tqt~u tqw
|
||||
tr tra~z
|
||||
ts tsa~e tsg~m tsp~z
|
||||
tt tta~p ttr~w tty~z
|
||||
tua~j tul~q tus~z
|
||||
tva tvd~e tvk~o tvs~u tvw~y
|
||||
twa~h twl~r twt~u tww~y
|
||||
txa~c txe txg~j txm~o txq~u txx~y
|
||||
ty tya tye tyh~j tyl tyn typ tyr~v tyx~z
|
||||
tza tzh tzj tzl~o tzx
|
||||
uam~n uar
|
||||
uba ubi ubl ubr ubu uby
|
||||
uda ude udg udi~j udl~m udu
|
||||
ues
|
||||
ufi
|
||||
ug uga~b uge ugh ugn~o ugy
|
||||
uha uhn
|
||||
uis uiv
|
||||
uji
|
||||
uk uka ukg~i ukk~l ukp~q uks uku~w uky
|
||||
ula~c ule~f uli ulk~n ulu ulw
|
||||
uma~d umg umi umm~p umr~s
|
||||
una une ung uni unk unm~n unr unu unx unz
|
||||
uon
|
||||
upi upv
|
||||
ur ura~c ure~p urr urt~z
|
||||
usa ush~i usk usp uss usu
|
||||
uta ute uth utp utr utu
|
||||
uum uur uuu
|
||||
uve uvh uvl
|
||||
uwa
|
||||
uya
|
||||
uz uzs
|
||||
vaa vae~j val~p var~s vau~v vay
|
||||
vbb vbk
|
||||
ve vec~d vel~m veo~p ver
|
||||
vgr vgt
|
||||
vi vic~d vif~g vil vin vis~t viv
|
||||
vka vkj~p vkt~u vkz
|
||||
vlp vls
|
||||
vma~m vmp~s vmu~z
|
||||
vnk vnm vnp
|
||||
vo vor vot
|
||||
vra vro vrs~t
|
||||
vsi vsl vsv
|
||||
vto
|
||||
vum~n vut
|
||||
vwa
|
||||
wa waa~z
|
||||
wba~b wbe~f wbh~m wbp~t wbv~w
|
||||
wca wci
|
||||
wdd wdg wdj~k wdt~u wdy
|
||||
wea wec~d weg~i wem~p wer~u wew
|
||||
wfg
|
||||
wga~b wgg wgi wgo wgu wgy
|
||||
wha whg whk whu
|
||||
wib~c wie~n wir wiu~v wiy
|
||||
wja wji
|
||||
wka~b wkd wkl wkr wku wkw wky
|
||||
wla wlc wle wlg~i wlk~m wlo wlr~s wlu~y
|
||||
wma~e wmg~i wmm~o wms~t wmw~x
|
||||
wnb~e wng wni wnk wnm~p wnu wnw wny
|
||||
wo woa~g woi wok wom~o wor~s wow woy
|
||||
wpc
|
||||
wrb wrg~i wrk~p wrr~s wru~z
|
||||
wsa wsg wsi wsk wsr~s wsu~v
|
||||
wtf wth~i wtk wtm wtw
|
||||
wua~b wud wuh wul~n wur wut~v wux~y
|
||||
wwa~b wwo wwr www
|
||||
wxa wxw
|
||||
wyb wyi wym~n wyr wyy
|
||||
xaa~e xag xai~w xay
|
||||
xbb~e xbg xbi~j xbm~p xbr xbw xby
|
||||
xcb~c xce xcg~h xcl~o xcr xct~w xcy
|
||||
xda xdc xdk xdm xdo xdq xdy
|
||||
xeb xed xeg xel~m xep xer~u
|
||||
xfa
|
||||
xga~b xgd xgf~g xgi xgl~n xgr xgu xgw
|
||||
xh xha xhc~e xhm xhr xht~v
|
||||
xib xii xil xin xir~s xiv xiy
|
||||
xjb xjt
|
||||
xka~g xki~l xkn~z
|
||||
xla~e xlg xli xln~p xls xlu xly
|
||||
xma~h xmj~z
|
||||
xna~b xnd xng~k xnm~o xnq~u xny~z
|
||||
xoc~d xog xoi xok xom~p xor xow
|
||||
xpa~d xpf~z
|
||||
xqa xqt
|
||||
xra~b xrd~e xrg xri xrm~n xrr xrt~u xrw
|
||||
xsa~e xsh~i xsm~s xsu~v xsy
|
||||
xta~e xtg~j xtl~w xty
|
||||
xua~b xud xug xuj xul~p xur xut~u
|
||||
xve xvi xvn~o xvs
|
||||
xwa xwc~e xwg xwj~l xwo xwr xwt xww
|
||||
xxb xxk xxm xxr xxt
|
||||
xya~b xyj~l xyt xyy
|
||||
xzh xzm xzp
|
||||
yaa~z
|
||||
yba~b ybe ybh~o ybx~y
|
||||
ych ycl ycn ycp
|
||||
yda yde ydg ydk
|
||||
yea yec yee yei~j yel yer~v yey
|
||||
yga ygi ygl~m ygp ygr~s ygu ygw
|
||||
yha yhd yhl yhs
|
||||
yi yia yif~n yip~v yix yiz
|
||||
yka ykg yki ykk~o ykr ykt~u yky
|
||||
yla~b yle ylg yli yll~o ylr ylu yly
|
||||
ymb~e ymg~i ymk~s ymx ymz
|
||||
yna ynd~e yng ynk~l ynn~o ynq yns ynu
|
||||
yo yob yog yoi yok~n yot yox~y
|
||||
ypa~b ypg~h ypk ypm~p ypz
|
||||
yra~b yre yrk~o yrs yrw yry
|
||||
ysc~d ysg ysl~p ysr~s ysy
|
||||
yta ytl ytp ytw yty
|
||||
yua~g yui~n yup~r yut yuw~z
|
||||
yva yvt
|
||||
ywa ywg ywl ywn ywq~r ywt~u yww
|
||||
yxa yxg yxl~m yxu yxy
|
||||
yyr yyu yyz
|
||||
yzg yzk
|
||||
za zaa~h zaj~m zao~z
|
||||
zba zbc zbe zbl zbt~u zbw
|
||||
zca zcd zch
|
||||
zdj
|
||||
zea zeg~h zen
|
||||
zga~b zgh zgm~n zgr
|
||||
zh zhb zhd zhi zhn zhw~x
|
||||
zia~b zik~n ziw ziz
|
||||
zka~b zkd zkg~h zkk zkn~p zkr zkt~v zkz
|
||||
zla zle zlj zlm~n zlq zls zlw
|
||||
zma~z
|
||||
zna znd~e zng znk zns
|
||||
zoc zoh zom zoo zoq~s
|
||||
zpa~z
|
||||
zqe
|
||||
zra zrg zrn~p zrs
|
||||
zsa zsk~l zsr zsu
|
||||
zte ztg ztl~n ztp~q zts~u ztx~y
|
||||
zu zua zuh zum~n zuy
|
||||
zwa
|
||||
zyg zyj zyn zyp
|
||||
zza zzj
|
||||
</id>
|
||||
<id type='language' idStatus='special'> <!-- 3 items -->
|
||||
mis mul
|
||||
zxx
|
||||
</id>
|
||||
<id type='language' idStatus='deprecated'> <!-- 283 items -->
|
||||
aam adp agp ais ajt~u als aoh arb asd aue ayr ayx~y azj
|
||||
baz bbz bcc bcl bgm bh bhk bic bij bjd bjq bkb blg bmy bpb btb btl bxk bxr bxx byy
|
||||
cbe cbh cca ccq cdg cjr cka cld cmk cmn cnr coy cqu cug cum cwd
|
||||
daf dap dgo dgu dha dhd dik diq dit djl dkl drh drr drw dud duj dwl dzd
|
||||
ekc ekk elp emk emo esk
|
||||
fat fuc
|
||||
gav gaz gbc gbo gfx ggn~o ggr gio gji gli gno gti gug guv gya
|
||||
hdn hea him hrr
|
||||
iap ibi ike ill ilw ime in iw izi
|
||||
jar jeg ji jw
|
||||
kbf kdv kgc~d kgh khk kjf kmr knc kng knn koj kox kpp kpv krm ktr kvs kwq kxe kxl kxu kzh kzj kzt
|
||||
lak lba lbk leg lii llo lmm lmz lno lsg lvs
|
||||
meg mgx mhh mhr mja mld mnk mnt mo mof mst mup mvm mwd mwj mwx~y myd myi myq myt
|
||||
nad nbf nbx ncp ngo nln nlr nns nnx noo npi nts nxu
|
||||
ojg ome ory oun
|
||||
pat pbu pbz pcr pes pgy pii plp plt pmc pmu pnb pod ppa ppr prb prs pry puk puz
|
||||
quz
|
||||
rie rmr rmy rna rsi
|
||||
sap sca sdm sgl sgo sh skk smd snb snh spy src sul~m svr swc swh
|
||||
tbb tdu tgg thc thw~x tid~e tkk tl tlw tmp tne~f toe tsf ttq tw
|
||||
umu unp uok uun uzn
|
||||
vki
|
||||
wgw wit wiw wra wrd wya
|
||||
xba xbx xia xip xkh xpe xrq xsj xsl xtz
|
||||
ybd ydd yds yen yiy yma ymt ynh yos yri yuu
|
||||
zai zir zsm zyb
|
||||
</id>
|
||||
<id type='language' idStatus='reserved'> <!-- 155 items -->
|
||||
qaa~z qba~z qca~z qda~z qea~z qfa~y
|
||||
</id>
|
||||
<id type='language' idStatus='private_use'> <!-- 365 items -->
|
||||
qfz qga~z qha~z qia~z qja~z qka~z qla~z qma~z qna~z qoa~z qpa~z qqa~z qra~z qsa~z qta~z
|
||||
</id>
|
||||
<id type='language' idStatus='unknown'> <!-- 1 item -->
|
||||
und
|
||||
</id>
|
||||
</idValidity>
|
||||
</supplementalData>
|
7
Assets/Resources/cldr/common/validity/language.xml.meta
Normal file
7
Assets/Resources/cldr/common/validity/language.xml.meta
Normal file
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5c2d9503edd6718449f832993cd5c215
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
79
Assets/Resources/cldr/common/validity/region.xml
Normal file
79
Assets/Resources/cldr/common/validity/region.xml
Normal file
@@ -0,0 +1,79 @@
|
||||
<?xml version='1.0' encoding='UTF-8' ?>
|
||||
<!DOCTYPE supplementalData SYSTEM '../../common/dtd/ldmlSupplemental.dtd'>
|
||||
<!--
|
||||
Copyright © 1991-2023 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
GENERATED DATA — do not manually update!
|
||||
Generated by tool: GenerateValidityXml
|
||||
Tool documented on: http://cldr.unicode.org/development/updating-codes/update-validity-xml
|
||||
-->
|
||||
<supplementalData>
|
||||
<version number="$Revision$"/>
|
||||
<idValidity>
|
||||
<id type='region' idStatus='regular'> <!-- 257 items -->
|
||||
AC~G AI AL~M AO AQ~U AW~X AZ
|
||||
BA~B BD~J BL~O BQ~T BV~W BY~Z
|
||||
CA CC~D CF~I CK~R CU~Z
|
||||
DE DG DJ~K DM DO DZ
|
||||
EA EC EE EG~H ER~T
|
||||
FI~K FM FO FR
|
||||
GA~B GD~I GL~N GP~U GW GY
|
||||
HK HM~N HR HT~U
|
||||
IC~E IL~O IQ~T
|
||||
JE JM JO~P
|
||||
KE KG~I KM~N KP KR KW KY~Z
|
||||
LA~C LI LK LR~V LY
|
||||
MA MC~H MK~Z
|
||||
NA NC NE~G NI NL NO~P NR NU NZ
|
||||
OM
|
||||
PA PE~H PK~N PR~T PW PY
|
||||
QA
|
||||
RE RO RS RU RW
|
||||
SA~E SG~O SR~T SV SX~Z
|
||||
TA TC~D TF~H TJ~O TR TT TV~W TZ
|
||||
UA UG UM US UY~Z
|
||||
VA VC VE VG VI VN VU
|
||||
WF WS
|
||||
XK
|
||||
YE YT
|
||||
ZA ZM ZW
|
||||
</id>
|
||||
<id type='region' idStatus='special'> <!-- 2 items -->
|
||||
XA~B
|
||||
</id>
|
||||
<id type='region' idStatus='macroregion'> <!-- 35 items -->
|
||||
001~3 005 009 011 013~5 017~9 021 029 030 034~5 039 053~4 057 061
|
||||
142~3 145 150~1 154~5
|
||||
202
|
||||
419
|
||||
EU EZ
|
||||
QO
|
||||
UN
|
||||
</id>
|
||||
<id type='region' idStatus='deprecated'> <!-- 12 items -->
|
||||
AN
|
||||
BU
|
||||
CS
|
||||
DD
|
||||
FX
|
||||
NT
|
||||
QU
|
||||
SU
|
||||
TP
|
||||
YD YU
|
||||
ZR
|
||||
</id>
|
||||
<id type='region' idStatus='reserved'> <!-- 13 items -->
|
||||
AA
|
||||
QM~N QP~T QV~Z
|
||||
</id>
|
||||
<id type='region' idStatus='private_use'> <!-- 23 items -->
|
||||
XC~J XL~Z
|
||||
</id>
|
||||
<id type='region' idStatus='unknown'> <!-- 1 item -->
|
||||
ZZ
|
||||
</id>
|
||||
</idValidity>
|
||||
</supplementalData>
|
7
Assets/Resources/cldr/common/validity/region.xml.meta
Normal file
7
Assets/Resources/cldr/common/validity/region.xml.meta
Normal file
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1506f1ea2ae5f6a4d8b5cd4923bad76e
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
58
Assets/Resources/cldr/common/validity/script.xml
Normal file
58
Assets/Resources/cldr/common/validity/script.xml
Normal file
@@ -0,0 +1,58 @@
|
||||
<?xml version='1.0' encoding='UTF-8' ?>
|
||||
<!DOCTYPE supplementalData SYSTEM '../../common/dtd/ldmlSupplemental.dtd'>
|
||||
<!--
|
||||
Copyright © 1991-2022 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
GENERATED DATA — do not manually update!
|
||||
Generated by tool: GenerateValidityXml
|
||||
Tool documented on: http://cldr.unicode.org/development/updating-codes/update-validity-xml
|
||||
-->
|
||||
<supplementalData>
|
||||
<version number="$Revision$"/>
|
||||
<idValidity>
|
||||
<id type='script' idStatus='regular'> <!-- 167 items -->
|
||||
Adlm Aghb Ahom Arab Armi Armn Avst
|
||||
Bali Bamu Bass Batk Beng Bhks Bopo Brah~i Bugi Buhd
|
||||
Cakm Cans Cari Cham Cher Chrs Copt Cpmn Cprt Cyrl
|
||||
Deva Diak Dogr Dsrt Dupl
|
||||
Egyp Elba Elym Ethi
|
||||
Geor Glag Gong Gonm Goth Gran Grek Gujr Guru
|
||||
Hanb Hang Hani Hano Hans~t Hatr Hebr Hira Hluw Hmng Hmnp Hrkt Hung
|
||||
Ital
|
||||
Jamo Java Jpan
|
||||
Kali Kana Kawi Khar Khmr Khoj Kits Knda Kore Kthi
|
||||
Lana Laoo Latn Lepc Limb Lina~b Lisu Lyci Lydi
|
||||
Mahj Maka Mand Mani Marc Medf Mend Merc Mero Mlym Modi Mong Mroo Mtei Mult Mymr
|
||||
Nagm Nand Narb Nbat Newa Nkoo Nshu
|
||||
Ogam Olck Orkh Orya Osge Osma Ougr
|
||||
Palm Pauc Perm Phag Phli Phlp Phnx Plrd Prti
|
||||
Rjng Rohg Runr
|
||||
Samr Sarb Saur Sgnw Shaw Shrd Sidd Sind Sinh Sogd Sogo Sora Soyo Sund Sylo Syrc
|
||||
Tagb Takr Tale Talu Taml Tang Tavt Telu Tfng Tglg Thaa Thai Tibt Tirh Tnsa Toto
|
||||
Ugar
|
||||
Vaii Vith
|
||||
Wara Wcho
|
||||
Xpeo Xsux
|
||||
Yezi Yiii Zanb
|
||||
</id>
|
||||
<id type='script' idStatus='special'> <!-- 9 items -->
|
||||
Aran
|
||||
Qaag
|
||||
Zinh Zmth Zsye Zsym Zxxx Zyyy
|
||||
</id>
|
||||
<id type='script' idStatus='deprecated'> <!-- 1 item -->
|
||||
Qaai
|
||||
</id>
|
||||
<id type='script' idStatus='reserved'> <!-- 14 items -->
|
||||
Qaaa~f Qaah Qaaj~p
|
||||
</id>
|
||||
<id type='script' idStatus='private_use'> <!-- 34 items -->
|
||||
Qaaq~z Qaba~x
|
||||
</id>
|
||||
<id type='script' idStatus='unknown'> <!-- 1 item -->
|
||||
Zzzz
|
||||
</id>
|
||||
</idValidity>
|
||||
</supplementalData>
|
7
Assets/Resources/cldr/common/validity/script.xml.meta
Normal file
7
Assets/Resources/cldr/common/validity/script.xml.meta
Normal file
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ac3294783975d1541807d312b8e99cba
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
268
Assets/Resources/cldr/common/validity/subdivision.xml
Normal file
268
Assets/Resources/cldr/common/validity/subdivision.xml
Normal file
@@ -0,0 +1,268 @@
|
||||
<?xml version='1.0' encoding='UTF-8' ?>
|
||||
<!DOCTYPE supplementalData SYSTEM '../../common/dtd/ldmlSupplemental.dtd'>
|
||||
<!--
|
||||
Copyright © 1991-2023 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
GENERATED DATA — do not manually update!
|
||||
Generated by tool: GenerateValidityXml
|
||||
Tool documented on: http://cldr.unicode.org/development/updating-codes/update-validity-xml
|
||||
-->
|
||||
<supplementalData>
|
||||
<version number="$Revision$"/>
|
||||
<idValidity>
|
||||
<id type='subdivision' idStatus='regular'> <!-- 5029 items -->
|
||||
ad02~8
|
||||
aeaj aeaz aedu aefu aerk aesh aeuq
|
||||
afbal~m afbdg afbds afbgl afday affra affyb afgha afgho afhel afher afjow afkab afkan afkap afkdz afkho afknr aflag aflog afnan afnim afnur afpan afpar afpia afpka afsam afsar aftak afuru afwar afzab
|
||||
ag03~8 ag10~1
|
||||
al01~9 al10~2
|
||||
amag amar amav amer amgr amkt amlo amsh amsu amtv amvd
|
||||
aobgo aobgu aobie aocab aoccu aocnn~o aocus aohua aohui aolno aolsu aolua aomal aomox aonam aouig aozai
|
||||
ara~h arj~n arp~z
|
||||
at1~9
|
||||
auact aunsw aunt auqld ausa autas auvic auwa
|
||||
azabs azaga azagc azagm azags azagu azast azba azbab azbal azbar azbey azbil azcab azcal azcul azdas azfuz azga azgad azgor azgoy azgyg azhac azimi azism azkal azkan azkur azla azlac azlan azler azmas azmi azna aznef aznv aznx azogu azord azqab azqax azqaz azqba azqbi azqob azqus azsa azsab azsad azsah azsak~l azsar azsat azsbn azsiy azskr azsm azsmi azsmx azsr azsus aztar aztov azuca azxa azxac azxci azxiz azxvd azyar azye azyev azzan azzaq~r
|
||||
babih babrc basrp
|
||||
bb01~9 bb10~1
|
||||
bd01~9 bd10~9 bd20~9 bd30~9 bd40~9 bd50~9 bd60~4 bda~h
|
||||
bebru bevan bevbr bevlg bevli bevov bevwv bewal bewbr bewht bewlg bewlx bewna
|
||||
bf01~9 bf10~3 bfbal~n bfbaz bfbgr bfblg bfblk bfcom bfgan bfgna bfgou bfhou bfiob bfkad bfken bfkmd bfkmp bfkop bfkos~t bfkow bfler bflor bfmou bfnam bfnao bfnay bfnou bfoub bfoud bfpas bfpon bfsen bfsis bfsmt bfsng bfsom bfsor bftap bftui bfyag bfyat bfzir bfzon bfzou
|
||||
bg01~9 bg10~9 bg20~8
|
||||
bh13~5 bh17
|
||||
bibb bibl~m bibr bica bici bigi biki bikr biky bima bimu bimw bimy bing birm birt biry
|
||||
bjak~l bjaq bjbo bjco bjdo bjko bjli bjmo bjou bjpl bjzo
|
||||
bnbe bnbm bnte bntu
|
||||
bob~c boh bol bon~p bos~t
|
||||
bqbo bqsa bqse
|
||||
brac bral~m brap brba brce brdf bres brgo brma brmg brms~t brpa~b brpe brpi brpr brrj brrn~o brrr~s brsc brse brsp brto
|
||||
bsak bsbi bsbp bsby bsce bsci bsck bsco bscs bseg bsex bsfp bsgc bshi bsht bsin bsli bsmc bsmg bsmi bsne bsno~p bsns bsrc bsri bssa bsse bsso bsss bssw bswg
|
||||
bt11~5 bt21~4 bt31~4 bt41~5 btga btty
|
||||
bwce bwch bwfr bwga bwgh bwjw bwkg bwkl bwkw bwlo bwne bwnw bwse bwso~p bwst
|
||||
bybr byhm byho byhr byma bymi byvi
|
||||
bzbz bzcy bzczl bzow bzsc bztol
|
||||
caab cabc camb canb canl cans~u caon cape caqc cask cayt
|
||||
cdbc cdbu cdeq cdhk~l cdhu cdit cdkc cdke cdkg cdkl cdkn cdks cdlo cdlu cdma cdmn~o cdnk cdnu cdsa cdsk cdsu cdta cdto cdtu
|
||||
cfac cfbb cfbgf cfbk cfhk cfhm cfhs cfkb cfkg cflb cfmb cfmp cfnm cfop cfse cfuk cfvk
|
||||
cg11~6 cg2 cg5 cg7~9 cgbzv
|
||||
chag chai char chbe chbl chbs chfr chge chgl chgr chju chlu chne chnw chow chsg~h chso chsz chtg chti chur chvd chvs chzg~h
|
||||
ciab cibs cicm cidn cigd cilc cilg cimg cism cisv civb ciwr ciym cizz
|
||||
clai clan clap clar clat clbi clco clli clll cllr clma clml clnb clrm clta clvs
|
||||
cmad cmce cmen cmes cmlt cmno cmnw cmou cmsu cmsw
|
||||
cnah cnbj cncq cnfj cngd cngs cngx cngz cnha~b cnhe cnhi cnhk~l cnhn cnjl cnjs cnjx cnln cnmo cnnm cnnx cnqh cnsc~d cnsh cnsn cnsx cntj cntw cnxj cnxz cnyn cnzj
|
||||
coama coant coara coatl cobol coboy cocal cocaq cocas cocau coces cocho cocor cocun codc cogua coguv cohui colag comag comet conar consa coput coqui coris cosan cosap cosuc cotol covac covau covid
|
||||
cra crc crg~h crl crp crsj
|
||||
cu01 cu03~9 cu10~6 cu99
|
||||
cvb cvbr cvbv cvca cvcf cvcr cvma cvmo cvpa cvpn cvpr cvrb cvrg cvrs cvs cvsd cvsf cvsl~m cvso cvss cvsv cvta cvts
|
||||
cy01~6
|
||||
cz10 cz20 cz201~9 cz20a~c cz31 cz311~7 cz32 cz321~7 cz41 cz411~3 cz42 cz421~7 cz51 cz511~4 cz52 cz521~5 cz53 cz531~4 cz63 cz631~5 cz64 cz641~7 cz71 cz711~5 cz72 cz721~4 cz80 cz801~6
|
||||
debb debe debw deby dehb dehe dehh demv deni denw derp desh desl desn dest deth
|
||||
djar~s djdi~j djob djta
|
||||
dk81~5
|
||||
dm02~9 dm10~1
|
||||
do01~9 do10~9 do20~9 do30~9 do40~2
|
||||
dz01~9 dz10~9 dz20~9 dz30~9 dz40~8
|
||||
eca~i ecl~p ecr~s ecsd~e ect~u ecw~z
|
||||
ee130 ee141~2 ee171 ee184 ee191 ee198 ee205 ee214 ee245 ee247 ee251 ee255 ee272 ee283~4 ee291 ee293 ee296 ee303 ee305 ee317 ee321 ee338 ee353 ee37 ee39 ee424 ee430~2 ee441~2 ee446 ee45 ee478 ee480 ee486 ee50 ee503 ee511 ee514 ee52 ee528 ee557 ee56 ee567 ee586 ee60 ee615 ee618 ee622 ee624 ee638 ee64 ee651 ee653 ee661 ee663 ee668 ee68 ee689 ee698 ee708 ee71 ee712 ee714 ee719 ee726 ee732 ee735 ee74 ee784 ee79 ee792~3 ee796 ee803 ee809 ee81 ee824 ee834 ee84 ee855 ee87 ee890 ee897 ee899 ee901 ee903 ee907 ee917 ee919 ee928
|
||||
egalx egasn egast egba egbh egbns egc egdk egdt egfym eggh eggz egis egjs egkb egkfs egkn eglx egmn egmnf egmt egpts egshg egshr egsin egsuz egwad
|
||||
eran erdk erdu ergb erma ersk
|
||||
esa esab esal esan esar~s esav esb esba esbi esbu esc esca~c esce escl~o escr~u esex esga esgc esgi esgr esgu esh eshu esib esj esl esle eslo eslu esm esma esmc~d esml esmu esna esnc eso esor esp espm espo espv esri ess essa esse essg esso esss est este~f esto esv esva esvc esvi esz esza
|
||||
etaa etaf etam etbe etdd etga etha etor etsi etsn~o etti
|
||||
fi02~9 fi10~9
|
||||
fj01~9 fj10~4 fjc fje fjn fjr fjw
|
||||
fmksa fmpni fmtrk fmyap
|
||||
fr01~9 fr10~9 fr20r fr21~9 fr2a~b fr30~9 fr40~9 fr50~9 fr60~9 fr69m fr6ae fr70~4 fr75c fr76~9 fr80~9 fr90~5 fr971~4 fr976 frara frbfc frbre frcvl frges frhdf fridf frnaq frnor frocc frpac frpdl
|
||||
ga1~9
|
||||
gbabc~e gbagb gbagy gband gbann gbans gbbas gbbbd gbbcp gbbdf~g gbben gbbex gbbfs gbbge gbbgw gbbir gbbkm gbbne gbbnh gbbns gbbol gbbpl gbbrc~d gbbry gbbst gbbur gbcam gbcay gbcbf gbccg gbcgn gbche gbchw gbcld gbclk gbcma gbcmd gbcmn gbcon gbcov gbcrf gbcry gbcwy gbdal gbdby gbden gbder gbdev gbdgy gbdnc~d gbdor gbdrs gbdud gbdur gbeal gbeay gbedh gbedu gbeln gbels gbenf~g gberw gbery gbess gbesx gbfal gbfif gbfln gbfmo gbgat gbglg gbgls gbgre gbgwn gbhal~m gbhav gbhck gbhef gbhil gbhld gbhmf gbhns gbhpl gbhrt gbhrw gbhry gbios gbiow gbisl gbivc gbkec gbken gbkhl gbkir gbktt gbkwl gblan gblbc gblbh gblce gblds gblec gblew gblin gbliv gblnd gblut gbman gbmdb gbmdw gbmea gbmik gbmln gbmon gbmrt gbmry gbmty gbmul gbnay gbnbl gbnel gbnet gbnfk gbngm gbnir gbnlk gbnln gbnmd gbnsm gbnth gbntl gbntt gbnty gbnwm gbnwp gbnyk gbold gbork gboxf gbpem gbpkn gbply gbpor gbpow gbpte gbrcc gbrch gbrct gbrdb gbrdg gbrfw gbric gbrot gbrut gbsaw gbsay gbscb gbsct gbsfk gbsft gbsgc gbshf gbshn gbshr gbskp gbslf~g gbslk gbsnd gbsol~m gbsos gbsry gbste gbstg~h gbstn gbsts~t gbsty gbswa gbswd gbswk gbtam gbtfw gbthr gbtob gbtof gbtrf gbtwh gbvgl gbwar gbwbk gbwdu gbwft gbwgn gbwil gbwkf gbwll gbwln gbwls gbwlv gbwnd gbwnm gbwok gbwor gbwrl gbwrt gbwrx gbwsm gbwsx gbyor gbzet
|
||||
gd01~6 gd10
|
||||
geab geaj gegu geim geka gekk gemm gerl gesj~k gesz getb
|
||||
ghaa ghaf ghah ghbe ghbo ghcp ghep ghne ghnp ghot ghsv ghtv ghue ghuw ghwn ghwp
|
||||
glav glku glqe glqt glsm
|
||||
gmb gml~n gmu gmw
|
||||
gnb gnbe~f gnbk gnc gnco gnd gndb gndi gndl gndu gnf gnfa gnfo gnfr gnga gngu gnk gnka~b gnkd~e gnkn~o gnks gnl gnla gnle gnlo gnm gnmc~d gnml~m gnn gnnz gnpi gnsi gnte gnto gnyo
|
||||
gqan gqbn gqbs gqc gqcs gqdj gqi gqkn gqli gqwn
|
||||
gr69 gra~m
|
||||
gt01~9 gt10~9 gt20~2
|
||||
gwba gwbl~m gwbs gwca gwga gwl gwn gwoi gwqu gws gwto
|
||||
gyba gycu gyde gyeb gyes gyma gypm gypt gyud gyut
|
||||
hnat hnch hncl~m hncp hncr hnep hnfm hngd hnib hnin hnle hnlp hnoc hnol hnsb hnva hnyo
|
||||
hr01~9 hr10~9 hr20~1
|
||||
htar htce htga htnd~e htni htno htou htsd~e
|
||||
huba hubc hube hubk hubu hubz hucs hude hudu hueg huer hufe hugs hugy huhb huhe huhv hujn huke hukm hukv humi hunk huno huny hupe hups husd husf hush husk husn~o huss~t husz hutb huto huva huve huvm huza huze
|
||||
idac idba~b idbe idbt idgo idja~b idji idjk idjt idjw idka~b idki idkr~u idla idma idml idmu idnb idnt~u idpa~b idpp idri idsa~b idsg idsl~n idsr~u idyo
|
||||
iec iece iecn~o iecw ied iedl ieg ieke iekk ieky iel ield ielh ielk ielm iels iem iemh iemn~o ieoy iern ieso ieta ieu iewd iewh ieww~x
|
||||
ild ilha iljm ilm ilta ilz
|
||||
inan inap inar~s inbr inch inct indh indl inga ingj inhp inhr injh injk inka inkl inla inld inmh inml inmn inmp inmz innl inor inpb inpy inrj insk intg intn intr inup inut inwb
|
||||
iqan iqar iqba~b iqbg iqda iqdi iqdq iqka iqki iqkr iqma iqmu iqna iqni iqqa iqsd iqsu iqwa
|
||||
ir00~9 ir10~9 ir20~9 ir30
|
||||
is1~8 isakh isakn isaku isarn isasa isbla isblo isbog isbol isdab isdav iseom iseyf isfjd isfjl isfla isflr isgar isgog isgrn isgru isgry ishaf ishel ishrg ishru ishut ishuv ishva ishve isisa iskal iskjo iskop islan ismos ismul ismyr isnor isrge isrgy isrhh isrkn isrkv issbh issbt issdn issdv issel issfa isshf isskf~g issko issku issnf issog issol isssf issss isstr issty issvg istal isthg istjo isvem isver isvop
|
||||
it21 it23 it25 it32 it34 it36 it42 it45 it52 it55 it57 it62 it65 it67 it72 it75 it77~8 it82 it88 itag ital itan itap~r itat itav itba itbg itbi itbl itbn~o itbr~t itbz itca~b itce itch itcl itcn~o itcr~t itcz iten itfc itfe itfg itfi itfm itfr itge itgo itgr itim itis itkr itlc itle itli itlo itlt~u itmb~c itme itmi itmn~o itms~t itna itno itnu itor itpa itpc~e itpg itpi itpn~o itpr itpt~v itpz itra itrc itre itrg itri itrm~o itsa itsi itso~p itsr~s itsu~v itta itte ittn~p ittr~s ittv itud itva~c itve itvi itvr itvt itvv
|
||||
jm01~9 jm10~4
|
||||
joaj joam joaq joat joaz joba joir joja joka joma jomd jomn
|
||||
jp01~9 jp10~9 jp20~9 jp30~9 jp40~7
|
||||
ke01~9 ke10~9 ke20~9 ke30~9 ke40~7
|
||||
kgb~c kggb kggo kgj kgn~o kgt kgy
|
||||
kh1 kh10~9 kh2 kh20~5 kh3~9
|
||||
kig kil kip
|
||||
kma kmg kmm
|
||||
kn01~9 kn10~3 kn15 knk knn
|
||||
kp01~9 kp10 kp13~4
|
||||
kr11 kr26~9 kr30~1 kr41~9 kr50
|
||||
kwah kwfa kwha kwja kwku kwmu
|
||||
kzakm kzakt kzala kzalm kzast kzaty kzkar kzkus kzkzy kzman kzpav kzsev kzshy kzvos kzyuz kzzap kzzha
|
||||
laat labk~l lach laho lakh lalm lalp laou laph lasl lasv lavi lavt laxa laxe laxi laxs
|
||||
lbak lbas lbba lbbh~i lbja lbjl lbna
|
||||
lc01~3 lc05~8 lc10~2
|
||||
li01~9 li10~1
|
||||
lk1 lk11~3 lk2 lk21~3 lk3 lk31~3 lk4 lk41~5 lk5 lk51~3 lk6 lk61~2 lk7 lk71~2 lk8 lk81~2 lk9 lk91~2
|
||||
lrbg lrbm lrcm lrgb lrgg lrgk lrgp lrlo lrmg lrmo lrmy lrni lrrg lrri lrsi
|
||||
lsa~h lsj~k
|
||||
lt01~9 lt10~9 lt20~9 lt30~9 lt40~9 lt50~9 lt60 ltal ltkl ltku ltmr ltpn ltsa ltta ltte ltut ltvl
|
||||
luca lucl ludi luec lues lugr lulu lume lurd lurm luvd luwi
|
||||
lv002 lv007 lv011 lv015~6 lv022 lv026 lv033 lv041~2 lv047 lv050 lv052 lv054 lv056 lv058~9 lv062 lv067~8 lv073 lv077 lv080 lv087~9 lv091 lv094 lv097 lv099 lv101~2 lv106 lv111~3 lvdgv lvjel lvjur lvlpx lvrez lvrix lvven
|
||||
lyba lybu lydr lygt lyja lyjg lyji lyju lykf lymb lymi~j lymq lynl lynq lysb lysr lytb lywa lywd lyws lyza
|
||||
ma01~9 ma10~2 maagd maaou maasz maazi mabem maber~s mabod mabom mabrr macas mache machi macht madri maerr maesi maesm mafah mafes mafig mafqh mague~f mahaj mahao mahoc maifr maine majdi majra maken makes makhe makhn~o malaa malar mamar mamdf mamed mamek mamid mamoh mamou manad manou maoua maoud maouj maouz marab mareh masaf masal masef maset masib masif masik~l maskh mataf matai matao matar matat mataz matet matin matiz matng matnt mayus mazag
|
||||
mccl mcco mcfo mcga mcje mcla mcma mcmc mcmg mcmo mcmu mcph mcsd mcso~p mcsr mcvr
|
||||
mdan mdba mdbd mdbr~s mdca mdcl~m mdcr~u mddo mddr mddu mded mdfa mdfl mdga mdgl mdhi mdia mdle mdni mdoc mdor mdre mdri mdsd mdsi mdsn~o mdst mdsv mdta mdte mdun
|
||||
me01~9 me10~9 me20~4
|
||||
mga mgd mgf mgm mgt~u
|
||||
mhalk~l mharn mhaur mhebo mheni mhjab mhjal mhkil mhkwa mhl mhlae mhlib mhlik mhmaj mhmal mhmej mhmil mhnmk mhnmu mhron mht mhuja mhuti mhwth mhwtj
|
||||
mk101~9 mk201~9 mk210~1 mk301 mk303~4 mk307~8 mk310~3 mk401~9 mk410 mk501~9 mk601~9 mk701~6 mk801~9 mk810~7
|
||||
ml1 ml10 ml2~9 mlbko
|
||||
mm01~7 mm11~8
|
||||
mn035 mn037 mn039 mn041 mn043 mn046~7 mn049 mn051 mn053 mn055 mn057 mn059 mn061 mn063~5 mn067 mn069 mn071 mn073 mn1
|
||||
mr01~9 mr10~5
|
||||
mt01~9 mt10~9 mt20~9 mt30~9 mt40~9 mt50~9 mt60~8
|
||||
muag mubl mucc mufl mugp mumo mupa mupl mupw muro murr musa
|
||||
mv00~5 mv07~8 mv12~4 mv17 mv20 mv23~9 mvmle
|
||||
mwba mwbl mwc mwck mwcr mwct mwde mwdo mwkr~s mwli mwlk mwmc mwmg~h mwmu mwmw mwmz mwn mwnb mwne mwni mwnk mwns mwnu mwph mwru mws mwsa mwth mwzo
|
||||
mxagu mxbcn mxbcs mxcam mxchh mxchp mxcmx mxcoa mxcol mxdur mxgro mxgua mxhid mxjal mxmex mxmic mxmor mxnay mxnle mxoax mxpue mxque mxroo mxsin mxslp mxson mxtab mxtam mxtla mxver mxyuc mxzac
|
||||
my01~9 my10~6
|
||||
mza~b mzg mzi mzl mzmpm mzn mzp~q mzs~t
|
||||
naca naer naha naka nake nakh naku nakw naod naoh naon naos~t naow
|
||||
ne1~8
|
||||
ngab ngad ngak ngan ngba ngbe ngbo ngby ngcr ngde ngeb nged ngek ngen ngfc nggo ngim ngji ngkd~e ngkn~o ngkt ngkw ngla ngna ngni ngog ngon ngos ngoy ngpl ngri ngso ngta ngyo ngza
|
||||
nian nias nibo nica nici nico nies nigr niji nile nimd nimn nims~t nins niri nisj
|
||||
nlbq1~3 nldr nlfl nlfr nlge nlgr nlli nlnb nlnh nlov nlut nlze nlzh
|
||||
no03 no11 no15 no18 no21~2 no30 no34 no38 no42 no46 no50 no54
|
||||
np1~5 npba npbh npdh npga npja npka npko nplu npma npme npna npp1~7 npra npsa npse
|
||||
nr01~9 nr10~4
|
||||
nzauk nzbop nzcan nzcit nzgis nzhkb nzmbh nzmwt nznsn nzntl nzota nzstl nztas nztki nzwgn nzwko nzwtc
|
||||
ombj ombs ombu omda omma ommu omsj omss omwu omza omzu
|
||||
pa1 pa10 pa2~9 paem paky panb pant
|
||||
peama peanc peapu peare peaya pecaj pecal pecus pehuc pehuv peica pejun pelal~m pelim pelma pelor pemdd pemoq pepas pepiu pepun pesam petac petum peuca
|
||||
pgcpk pgcpm pgebr pgehg pgepw pgesw pggpk pghla pgjwk pgmba pgmpl~m pgmrl pgncd pgnik pgnpp pgnsb pgsan pgshm pgwbk pgwhm pgwpd
|
||||
ph00~3 ph05~9 ph10~5 ph40~1 phabr phagn phags phakl phalb phant phapa phaur phban phbas phben phbil phboh phbtg phbtn phbuk~l phcag phcam~n phcap phcas~t phcav phceb phcom phdao phdas phdav phdin phdvo pheas phgui phifu phili philn phils phisa phkal phlag phlan phlas phley phlun phmad phmag phmas phmdc phmdr phmou phmsc phmsr phnco phnec phner phnsa phnue phnuv phpam~n phplw phque phqui phriz phrom phsar phsco phsig phsle phslu phsor phsuk phsun phsur phtar phtaw phwsa phzan phzas phzmb phzsi
|
||||
pkba pkgb pkis pkjk pkkp pkpb pksd
|
||||
pl02 pl04 pl06 pl08 pl10 pl12 pl14 pl16 pl18 pl20 pl22 pl24 pl26 pl28 pl30 pl32
|
||||
psbth psdeb psgza pshbn psjem~n psjrh pskys psnbs psngz psqqa psrbh psrfh psslt pstbs pstkm
|
||||
pt01~9 pt10~8 pt20 pt30
|
||||
pw002 pw004 pw010 pw050 pw100 pw150 pw212 pw214 pw218 pw222 pw224 pw226~8 pw350 pw370
|
||||
py1 py10~6 py19 py2~9 pyasu
|
||||
qada qakh qams qara qash qaus qawa qaza
|
||||
roab roag roar rob robc robh robn robr robt robv robz rocj rocl rocs~t rocv rodb rodj rogj rogl rogr rohd rohr roif roil rois romh romm roms ront root roph rosb rosj rosm rosv rotl~m rotr rovl rovn rovs
|
||||
rs00~9 rs10~9 rs20~9 rskm rsvo
|
||||
ruad rual rualt ruamu ruark ruast ruba rubel rubry rubu ruce ruche ruchu rucu ruda ruin ruirk ruiva rukam rukb~c rukda rukem rukgd rukgn rukha rukhm rukir rukk~l ruklu ruko rukos rukr rukrs rukya rulen rulip rumag rume rumo rumos rumow rumur runen rungr runiz runvs ruoms ruore ruorl ruper rupnz rupri rupsk ruros rurya rusa rusak rusam rusar ruse rusmo ruspe rusta rusve ruta rutam rutom rutul rutve ruty rutyu ruud ruuly ruvgg ruvla ruvlg ruvor ruyan ruyar ruyev ruzab
|
||||
rw01~5
|
||||
sa01~9 sa10~2 sa14
|
||||
sbce sbch sbct sbgu sbis sbmk~l sbrb sbte sbwe
|
||||
sc01~9 sc10~9 sc20~7
|
||||
sddc sdde sddn sdds sddw sdgd sdgk sdgz sdka sdkh sdkn sdks sdnb sdno sdnr sdnw sdrs sdsi
|
||||
seab~c sebd sec~i sek sem~o ses~u sew~z
|
||||
sg01~5
|
||||
shac shhl
|
||||
si001~9 si010~9 si020~9 si030~9 si040~9 si050~9 si060~9 si070~9 si080~9 si090~9 si100~9 si110~9 si120~9 si130~9 si140~4 si146~9 si150~9 si160~9 si170~9 si180~9 si190~9 si200~9 si210~3
|
||||
skbc skbl skki skni skpv skta sktc skzi
|
||||
sle sln slnw sls slw
|
||||
sm01~9
|
||||
sndb sndk snfk snka snkd~e snkl snlg snmt snse snsl sntc snth snzg
|
||||
soaw sobk sobn sobr soby soga soge sohi sojd sojh somu sonu sosa sosd sosh soso soto sowo
|
||||
srbr srcm srcr srma srni srpm srpr srsa srsi srwa
|
||||
ssbn ssbw ssec ssee ssew ssjg sslk ssnu ssuy sswr
|
||||
st01~6 stp
|
||||
svah svca svch svcu svli svmo svpa svsa svsm svso svss svsv svun svus
|
||||
sydi sydr sydy syha syhi syhl~m syid syla syqu syra syrd sysu syta
|
||||
szhh szlu szma szsh
|
||||
tdba tdbg tdbo tdcb tdee tdeo tdgr tdhl tdka tdlc tdlo tdlr tdma tdmc tdme tdmo tdnd tdod tdsa tdsi tdta tdti tdwf
|
||||
tgc tgk tgm tgp tgs
|
||||
th10~9 th20~7 th30~9 th40~9 th50~8 th60~7 th70~7 th80~6 th90~6 ths
|
||||
tjdu tjgb tjkt tjra tjsu
|
||||
tlal tlan tlba tlbo tlco tldi tler tlla tlli tlmf tlmt tloe tlvi
|
||||
tma~b tmd tml~m tms
|
||||
tn11~4 tn21~3 tn31~4 tn41~3 tn51~3 tn61 tn71~3 tn81~3
|
||||
to01~5
|
||||
tr01~9 tr10~9 tr20~9 tr30~9 tr40~9 tr50~9 tr60~9 tr70~9 tr80~1
|
||||
ttari ttcha ttctt ttdmn ttmrc ttped ttpos ttprt ttptf ttsfo ttsge ttsip ttsjl tttob tttup
|
||||
tvfun tvnit tvnkf tvnkl tvnma tvnmg tvnui tvvai
|
||||
twcha twcyi twcyq twhsq twhsz twhua twila twkee twkhh twkin twlie twmia twnan twnwt twpen twpif twtao twtnn twtpe twttt twtxg twyun
|
||||
tz01~9 tz10~9 tz20~9 tz30~1
|
||||
ua05 ua07 ua09 ua12 ua14 ua18 ua21 ua23 ua26 ua30 ua32 ua35 ua40 ua43 ua46 ua48 ua51 ua53 ua56 ua59 ua61 ua63 ua65 ua68 ua71 ua74 ua77
|
||||
ug101~9 ug110~9 ug120~6 ug201~9 ug210~9 ug220~9 ug230~7 ug301~9 ug310~9 ug320~9 ug330~7 ug401~9 ug410~9 ug420~9 ug430~5 ugc uge ugn ugw
|
||||
um67 um71 um76 um79 um81 um84 um86 um89 um95
|
||||
usak~l usar usaz usca usco usct usdc usde usfl usga ushi usia usid usil usin usks usky usla usma usmd~e usmi usmn~o usms~t usnc~e usnh usnj usnm usnv usny usoh usok usor uspa usri ussc~d ustn ustx usut usva usvt uswa uswi uswv uswy
|
||||
uyar uyca uycl uyco uydu uyfd uyfs uyla uyma uymo uypa uyrn~o uyrv uysa uysj uyso uyta uytt
|
||||
uzan uzbu uzfa uzji uzng uznw uzqa uzqr uzsa uzsi uzsu uztk uzto uzxo
|
||||
vc01~6
|
||||
vea~p ver~z
|
||||
vn01~7 vn09 vn13~4 vn18 vn20~9 vn30~7 vn39 vn40~1 vn43~7 vn49 vn50~9 vn61 vn63 vn66~9 vn70~3 vnct vndn vnhn vnhp vnsg
|
||||
vumap vupam vusam vusee vutae vutob
|
||||
wfal wfsg wfuv
|
||||
wsaa wsal wsat wsfa wsge wsgi wspa wssa wstu wsvf wsvs
|
||||
yeab yead yeam yeba yeda yedh yehd yehj yehu yeib yeja yela yema yemr yemw yera yesa yesd yesh yesn yesu yeta
|
||||
zaec zafs zagp zakzn zalp zamp zanc zanw zawc
|
||||
zm01~9 zm10
|
||||
zwbu zwha zwma zwmc zwme zwmi zwmn zwms zwmv~w
|
||||
</id>
|
||||
<!-- Deprecated values include those that are not formally deprecated in the country in question, but have their own region codes.
|
||||
It also include codes that were previously in CLDR, for compatibility. -->
|
||||
<id type='subdivision' idStatus='deprecated'> <!-- 577 items -->
|
||||
albr albu aldi aldl aldr aldv alel aler alfr algj algr alha alka~c alko alkr alku allb alle allu almk almm almr almt alpg alpq~r alpu alsh alsk alsr alte altp altr alvl
|
||||
ba01~9 ba10 bh16
|
||||
cdbn cdka cdkw cdor ci01~9 ci10~9 cn11~5 cn21~3 cn31~7 cn41~6 cn50~4 cn61~5 cn71 cn91~2 cz101~9 cz10a~f cz110~9 cz120~2 cz611~5 cz621~7 czjc czjm czka czkr czli czmo czol czpa czpl czpr czst czus czvy czzl
|
||||
ee44 ee49 ee51 ee57 ee59 ee65 ee67 ee70 ee78 ee82 ee86
|
||||
fi01 fr75 fra~b frbl frc frcor frcp frd~g frgf frgp frgua frh~l frlre frm frmay frmf frmq frn frnc fro~p frpf frpm frq~r frre frs~t frtf fru~v frwf fryt
|
||||
gbant gbard gbarm gbbla gbbly gbbmh gbbnb gbcgv gbckf gbckt gbclr gbcsr gbdgn gbdow gbdry gbeaw gbfer gbgbn gblmv gblrn gblsb gbmft gbmyl gbndn gbnta gbnym gbomh gbpol gbstb gbukm ghba glqa gr01 gr03~7 gr11~7 gr21~4 gr31~4 gr41~4 gr51~9 gr61~4 gr71~3 gr81~5 gr91~4 gra1 gtav gtbv gtcm gtcq gtes gtgu gthu gtiz gtja gtju gtpe gtpr gtqc gtqz gtre gtsa gtsm gtso gtsr gtsu gtto gtza
|
||||
indd indn ir31~2 is0 isbfj isdju isfld issey itao itci itog itot itsd itvs
|
||||
kzbay
|
||||
laxn lud lug lul lv001 lv003~6 lv008~9 lv010 lv012~4 lv017~9 lv020~1 lv023~5 lv027~9 lv030~2 lv034~9 lv040 lv043~6 lv048~9 lv051 lv053 lv055 lv057 lv060~1 lv063~6 lv069 lv070~2 lv074~6 lv078~9 lv081~6 lv090 lv092~3 lv095~6 lv098 lv100 lv103~5 lv107~9 lv110 lvjkb lvvmr
|
||||
ma13~6 mammd mammn masyb mk01~9 mk10~9 mk20~9 mk30~9 mk40~9 mk50~9 mk60~9 mk70~9 mk80~5 mrnkc mubr mucu mupu muqb muvp mvce mvnc mvno mvsc mvsu mvun mvus mxdif
|
||||
nlaw nlcw nlsx no01~2 no04~9 no10 no12 no14 no16~7 no19 no20 no23 nzn nzs
|
||||
omba omsh
|
||||
pkta plds plkp pllb plld pllu plma plmz plop plpd plpk plpm plsk~l plwn plwp plzp
|
||||
shta sts
|
||||
tteto ttrcm ttwto twkhq twtnq twtpq twtxq
|
||||
usas usgu usmp uspr usum usvi
|
||||
zagt zanl
|
||||
</id>
|
||||
<!-- Unknown/Undetermined subdivision codes (ZZZZ) are defined for all regular region codes. -->
|
||||
<id type='subdivision' idStatus='unknown'> <!-- 257 items -->
|
||||
aczzzz adzzzz aezzzz afzzzz agzzzz aizzzz alzzzz amzzzz aozzzz aqzzzz arzzzz aszzzz atzzzz auzzzz awzzzz axzzzz azzzzz
|
||||
bazzzz bbzzzz bdzzzz bezzzz bfzzzz bgzzzz bhzzzz bizzzz bjzzzz blzzzz bmzzzz bnzzzz bozzzz bqzzzz brzzzz bszzzz btzzzz bvzzzz bwzzzz byzzzz bzzzzz
|
||||
cazzzz cczzzz cdzzzz cfzzzz cgzzzz chzzzz cizzzz ckzzzz clzzzz cmzzzz cnzzzz cozzzz cpzzzz cqzzzz crzzzz cuzzzz cvzzzz cwzzzz cxzzzz cyzzzz czzzzz
|
||||
dezzzz dgzzzz djzzzz dkzzzz dmzzzz dozzzz dzzzzz
|
||||
eazzzz eczzzz eezzzz egzzzz ehzzzz erzzzz eszzzz etzzzz
|
||||
fizzzz fjzzzz fkzzzz fmzzzz fozzzz frzzzz
|
||||
gazzzz gbzzzz gdzzzz gezzzz gfzzzz ggzzzz ghzzzz gizzzz glzzzz gmzzzz gnzzzz gpzzzz gqzzzz grzzzz gszzzz gtzzzz guzzzz gwzzzz gyzzzz
|
||||
hkzzzz hmzzzz hnzzzz hrzzzz htzzzz huzzzz
|
||||
iczzzz idzzzz iezzzz ilzzzz imzzzz inzzzz iozzzz iqzzzz irzzzz iszzzz itzzzz
|
||||
jezzzz jmzzzz jozzzz jpzzzz
|
||||
kezzzz kgzzzz khzzzz kizzzz kmzzzz knzzzz kpzzzz krzzzz kwzzzz kyzzzz kzzzzz
|
||||
lazzzz lbzzzz lczzzz lizzzz lkzzzz lrzzzz lszzzz ltzzzz luzzzz lvzzzz lyzzzz
|
||||
mazzzz mczzzz mdzzzz mezzzz mfzzzz mgzzzz mhzzzz mkzzzz mlzzzz mmzzzz mnzzzz mozzzz mpzzzz mqzzzz mrzzzz mszzzz mtzzzz muzzzz mvzzzz mwzzzz mxzzzz myzzzz mzzzzz
|
||||
nazzzz nczzzz nezzzz nfzzzz ngzzzz nizzzz nlzzzz nozzzz npzzzz nrzzzz nuzzzz nzzzzz
|
||||
omzzzz
|
||||
pazzzz pezzzz pfzzzz pgzzzz phzzzz pkzzzz plzzzz pmzzzz pnzzzz przzzz pszzzz ptzzzz pwzzzz pyzzzz
|
||||
qazzzz
|
||||
rezzzz rozzzz rszzzz ruzzzz rwzzzz
|
||||
sazzzz sbzzzz sczzzz sdzzzz sezzzz sgzzzz shzzzz sizzzz sjzzzz skzzzz slzzzz smzzzz snzzzz sozzzz srzzzz sszzzz stzzzz svzzzz sxzzzz syzzzz szzzzz
|
||||
tazzzz tczzzz tdzzzz tfzzzz tgzzzz thzzzz tjzzzz tkzzzz tlzzzz tmzzzz tnzzzz tozzzz trzzzz ttzzzz tvzzzz twzzzz tzzzzz
|
||||
uazzzz ugzzzz umzzzz uszzzz uyzzzz uzzzzz
|
||||
vazzzz vczzzz vezzzz vgzzzz vizzzz vnzzzz vuzzzz
|
||||
wfzzzz wszzzz
|
||||
xkzzzz
|
||||
yezzzz ytzzzz
|
||||
zazzzz zmzzzz zwzzzz
|
||||
</id>
|
||||
</idValidity>
|
||||
</supplementalData>
|
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ba6482cecb2178b4aa803ff753309657
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
257
Assets/Resources/cldr/common/validity/unit.xml
Normal file
257
Assets/Resources/cldr/common/validity/unit.xml
Normal file
@@ -0,0 +1,257 @@
|
||||
<?xml version='1.0' encoding='UTF-8' ?>
|
||||
<!DOCTYPE supplementalData SYSTEM '../../common/dtd/ldmlSupplemental.dtd'>
|
||||
<!--
|
||||
Copyright © 1991-2013 Unicode, Inc.
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
-->
|
||||
<supplementalData>
|
||||
<version number='$Revision$'/>
|
||||
<idValidity>
|
||||
<id type='unit' idStatus='regular'>
|
||||
acceleration-g-force
|
||||
acceleration-meter-per-square-second
|
||||
angle-revolution
|
||||
angle-radian
|
||||
angle-degree
|
||||
angle-arc-minute
|
||||
angle-arc-second
|
||||
area-square-kilometer
|
||||
area-hectare
|
||||
area-square-meter
|
||||
area-square-centimeter
|
||||
area-square-mile
|
||||
area-acre
|
||||
area-square-yard
|
||||
area-square-foot
|
||||
area-square-inch
|
||||
area-dunam
|
||||
concentr-karat
|
||||
concentr-milligram-ofglucose-per-deciliter
|
||||
concentr-millimole-per-liter
|
||||
concentr-item
|
||||
concentr-permillion
|
||||
concentr-percent
|
||||
concentr-permille
|
||||
concentr-permyriad
|
||||
concentr-mole
|
||||
consumption-liter-per-kilometer
|
||||
consumption-liter-per-100-kilometer
|
||||
consumption-mile-per-gallon
|
||||
consumption-mile-per-gallon-imperial
|
||||
digital-petabyte
|
||||
digital-terabyte
|
||||
digital-terabit
|
||||
digital-gigabyte
|
||||
digital-gigabit
|
||||
digital-megabyte
|
||||
digital-megabit
|
||||
digital-kilobyte
|
||||
digital-kilobit
|
||||
digital-byte
|
||||
digital-bit
|
||||
duration-century
|
||||
duration-decade
|
||||
duration-year
|
||||
duration-year-person
|
||||
duration-quarter
|
||||
duration-month
|
||||
duration-month-person
|
||||
duration-week
|
||||
duration-week-person
|
||||
duration-day
|
||||
duration-day-person
|
||||
duration-hour
|
||||
duration-minute
|
||||
duration-second
|
||||
duration-millisecond
|
||||
duration-microsecond
|
||||
duration-nanosecond
|
||||
electric-ampere
|
||||
electric-milliampere
|
||||
electric-ohm
|
||||
electric-volt
|
||||
energy-kilocalorie
|
||||
energy-calorie
|
||||
energy-foodcalorie
|
||||
energy-kilojoule
|
||||
energy-joule
|
||||
energy-kilowatt-hour
|
||||
energy-electronvolt
|
||||
energy-british-thermal-unit
|
||||
energy-therm-us
|
||||
force-pound-force
|
||||
force-newton
|
||||
force-kilowatt-hour-per-100-kilometer
|
||||
frequency-gigahertz
|
||||
frequency-megahertz
|
||||
frequency-kilohertz
|
||||
frequency-hertz
|
||||
graphics-em
|
||||
graphics-pixel
|
||||
graphics-megapixel
|
||||
graphics-pixel-per-centimeter
|
||||
graphics-pixel-per-inch
|
||||
graphics-dot-per-centimeter
|
||||
graphics-dot-per-inch
|
||||
graphics-dot
|
||||
length-earth-radius
|
||||
length-kilometer
|
||||
length-meter
|
||||
length-decimeter
|
||||
length-centimeter
|
||||
length-millimeter
|
||||
length-micrometer
|
||||
length-nanometer
|
||||
length-picometer
|
||||
length-mile
|
||||
length-yard
|
||||
length-foot
|
||||
length-inch
|
||||
length-parsec
|
||||
length-light-year
|
||||
length-astronomical-unit
|
||||
length-furlong
|
||||
length-fathom
|
||||
length-nautical-mile
|
||||
length-mile-scandinavian
|
||||
length-point
|
||||
length-solar-radius
|
||||
light-lux
|
||||
light-candela
|
||||
light-lumen
|
||||
light-solar-luminosity
|
||||
mass-tonne
|
||||
mass-kilogram
|
||||
mass-gram
|
||||
mass-milligram
|
||||
mass-microgram
|
||||
mass-ton
|
||||
mass-stone
|
||||
mass-pound
|
||||
mass-ounce
|
||||
mass-ounce-troy
|
||||
mass-carat
|
||||
mass-dalton
|
||||
mass-earth-mass
|
||||
mass-solar-mass
|
||||
mass-grain
|
||||
power-gigawatt
|
||||
power-megawatt
|
||||
power-kilowatt
|
||||
power-watt
|
||||
power-milliwatt
|
||||
power-horsepower
|
||||
pressure-millimeter-ofhg
|
||||
pressure-pound-force-per-square-inch
|
||||
pressure-inch-ofhg
|
||||
pressure-bar
|
||||
pressure-millibar
|
||||
pressure-atmosphere
|
||||
pressure-pascal
|
||||
pressure-hectopascal
|
||||
pressure-kilopascal
|
||||
pressure-megapascal
|
||||
speed-kilometer-per-hour
|
||||
speed-meter-per-second
|
||||
speed-mile-per-hour
|
||||
speed-knot
|
||||
temperature-generic
|
||||
temperature-celsius
|
||||
temperature-fahrenheit
|
||||
temperature-kelvin
|
||||
torque-pound-force-foot
|
||||
torque-newton-meter
|
||||
volume-cubic-kilometer
|
||||
volume-cubic-meter
|
||||
volume-cubic-centimeter
|
||||
volume-cubic-mile
|
||||
volume-cubic-yard
|
||||
volume-cubic-foot
|
||||
volume-cubic-inch
|
||||
volume-megaliter
|
||||
volume-hectoliter
|
||||
volume-liter
|
||||
volume-deciliter
|
||||
volume-centiliter
|
||||
volume-milliliter
|
||||
volume-pint-metric
|
||||
volume-cup-metric
|
||||
volume-acre-foot
|
||||
volume-bushel
|
||||
volume-gallon
|
||||
volume-gallon-imperial
|
||||
volume-quart
|
||||
volume-pint
|
||||
volume-cup
|
||||
volume-fluid-ounce
|
||||
volume-fluid-ounce-imperial
|
||||
volume-tablespoon
|
||||
volume-teaspoon
|
||||
volume-barrel
|
||||
volume-dessert-spoon
|
||||
volume-dessert-spoon-imperial
|
||||
volume-drop
|
||||
volume-dram
|
||||
volume-jigger
|
||||
volume-pinch
|
||||
volume-quart-imperial
|
||||
angle-steradian
|
||||
concentr-portion
|
||||
concentr-ofglucose
|
||||
concentr-katal
|
||||
duration-fortnight
|
||||
electric-coulomb
|
||||
electric-farad
|
||||
electric-henry
|
||||
electric-siemens
|
||||
energy-calorie-it
|
||||
energy-british-thermal-unit-it
|
||||
energy-becquerel
|
||||
energy-sievert
|
||||
energy-gray
|
||||
force-kilogram-force
|
||||
length-100-kilometer
|
||||
length-rod
|
||||
length-chain
|
||||
magnetic-tesla
|
||||
magnetic-weber
|
||||
mass-slug
|
||||
pressure-ofhg
|
||||
speed-beaufort
|
||||
temperature-rankine
|
||||
volume-pint-imperial
|
||||
pressure-gasoline-energy-density
|
||||
length-rin
|
||||
length-sun
|
||||
length-shaku-length
|
||||
length-shaku-cloth
|
||||
length-ken
|
||||
length-jo-jp
|
||||
length-ri-jp
|
||||
area-bu-jp
|
||||
area-se-jp
|
||||
area-cho
|
||||
volume-kosaji
|
||||
volume-osaji
|
||||
volume-cup-jp
|
||||
volume-shaku
|
||||
volume-sai
|
||||
volume-to-jp
|
||||
volume-koku
|
||||
mass-fun
|
||||
</id>
|
||||
<id type='unit' idStatus='deprecated'>
|
||||
acceleration-meter-per-second-squared
|
||||
consumption-liter-per-100kilometers
|
||||
concentr-part-per-million
|
||||
pressure-inch-hg
|
||||
pressure-pound-per-square-inch
|
||||
pressure-millimeter-of-mercury
|
||||
proportion-karat
|
||||
torque-pound-foot
|
||||
concentr-milligram-per-deciliter
|
||||
mass-metric-ton
|
||||
</id>
|
||||
</idValidity>
|
||||
</supplementalData>
|
7
Assets/Resources/cldr/common/validity/unit.xml.meta
Normal file
7
Assets/Resources/cldr/common/validity/unit.xml.meta
Normal file
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f1766e0971bde2a4185cb4098e6625e7
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
46
Assets/Resources/cldr/common/validity/variant.xml
Normal file
46
Assets/Resources/cldr/common/validity/variant.xml
Normal file
@@ -0,0 +1,46 @@
|
||||
<?xml version='1.0' encoding='UTF-8' ?>
|
||||
<!DOCTYPE supplementalData SYSTEM '../../common/dtd/ldmlSupplemental.dtd'>
|
||||
<!--
|
||||
Copyright © 1991-2023 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
GENERATED DATA — do not manually update!
|
||||
Generated by tool: GenerateValidityXml
|
||||
Tool documented on: http://cldr.unicode.org/development/updating-codes/update-validity-xml
|
||||
-->
|
||||
<supplementalData>
|
||||
<version number="$Revision$"/>
|
||||
<idValidity>
|
||||
<id type='variant' idStatus='regular'> <!-- 107 items -->
|
||||
1606nict 1694acad 1901 1959acad 1994 1996
|
||||
abl1943 akuapem alalc97 aluku ao1990 aranes arkaika asante auvern
|
||||
baku1926 balanka barla basiceng bauddha biscayan biske bohoric boont bornholm
|
||||
cisaup colb1945 cornu creiss
|
||||
dajnko
|
||||
ekavsk emodeng
|
||||
fonipa fonkirsh fonnapa fonupa fonxsamp
|
||||
gallo gascon grclass grital grmistr
|
||||
hepburn hognorsk hsistemo
|
||||
ijekavsk itihasa ivanchov
|
||||
jauer jyutping
|
||||
kkcor kociewie kscor
|
||||
laukika lemosin lengadoc lipaw ltg1929 ltg2007 luna1918
|
||||
metelko monoton
|
||||
ndyuka nedis newfound nicard njiva nulik
|
||||
osojs oxendict
|
||||
pahawh2~4 pamaka peano petr1708 pinyin polyton provenc puter
|
||||
rigik rozaj rumgr
|
||||
scotland scouse simple solba sotav spanglis surmiran sursilv sutsilv synnejyl
|
||||
tarask tongyong tunumiit
|
||||
uccor ucrcor ulster unifon
|
||||
vaidika valencia vallader vecdruka vivaraup
|
||||
wadegile
|
||||
xsistemo
|
||||
</id>
|
||||
<id type='variant' idStatus='deprecated'> <!-- 3 items -->
|
||||
arevela arevmda
|
||||
heploc
|
||||
</id>
|
||||
</idValidity>
|
||||
</supplementalData>
|
7
Assets/Resources/cldr/common/validity/variant.xml.meta
Normal file
7
Assets/Resources/cldr/common/validity/variant.xml.meta
Normal file
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6f3cee42acc87df4299ae843d1d6b75b
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Reference in New Issue
Block a user