summaryrefslogtreecommitdiff
path: root/Library/PackageCache/com.unity.textmeshpro@2.0.1/Scripts/Editor/TMP_FontAsset_CreationMenu.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Library/PackageCache/com.unity.textmeshpro@2.0.1/Scripts/Editor/TMP_FontAsset_CreationMenu.cs')
-rw-r--r--Library/PackageCache/com.unity.textmeshpro@2.0.1/Scripts/Editor/TMP_FontAsset_CreationMenu.cs190
1 files changed, 0 insertions, 190 deletions
diff --git a/Library/PackageCache/com.unity.textmeshpro@2.0.1/Scripts/Editor/TMP_FontAsset_CreationMenu.cs b/Library/PackageCache/com.unity.textmeshpro@2.0.1/Scripts/Editor/TMP_FontAsset_CreationMenu.cs
deleted file mode 100644
index dca6d14..0000000
--- a/Library/PackageCache/com.unity.textmeshpro@2.0.1/Scripts/Editor/TMP_FontAsset_CreationMenu.cs
+++ /dev/null
@@ -1,190 +0,0 @@
-using UnityEngine;
-using UnityEditor;
-using System.Linq;
-using System.IO;
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine.TextCore;
-using UnityEngine.TextCore.LowLevel;
-using TMPro;
-
-
-namespace TMPro
-{
- public static class TMP_FontAsset_CreationMenu
- {
- /*
- [MenuItem("Assets/Create/TextMeshPro/Font Asset Fallback", false, 105)]
- public static void CreateFallbackFontAsset()
- {
- Object target = Selection.activeObject;
-
- // Make sure the selection is a font file
- if (target == null || target.GetType() != typeof(TMP_FontAsset))
- {
- Debug.LogWarning("A Font file must first be selected in order to create a Font Asset.");
- return;
- }
-
- TMP_FontAsset sourceFontAsset = (TMP_FontAsset)target;
-
- string sourceFontFilePath = AssetDatabase.GetAssetPath(target);
-
- string folderPath = Path.GetDirectoryName(sourceFontFilePath);
- string assetName = Path.GetFileNameWithoutExtension(sourceFontFilePath);
-
- string newAssetFilePathWithName = AssetDatabase.GenerateUniqueAssetPath(folderPath + "/" + assetName + " - Fallback.asset");
-
- //// Create new TM Font Asset.
- TMP_FontAsset fontAsset = ScriptableObject.CreateInstance<TMP_FontAsset>();
- AssetDatabase.CreateAsset(fontAsset, newAssetFilePathWithName);
-
- fontAsset.version = "1.1.0";
-
- fontAsset.faceInfo = sourceFontAsset.faceInfo;
-
- fontAsset.m_SourceFontFileGUID = sourceFontAsset.m_SourceFontFileGUID;
- fontAsset.m_SourceFontFile_EditorRef = sourceFontAsset.m_SourceFontFile_EditorRef;
- fontAsset.atlasPopulationMode = TMP_FontAsset.AtlasPopulationMode.Dynamic;
-
- int atlasWidth = fontAsset.atlasWidth = sourceFontAsset.atlasWidth;
- int atlasHeight = fontAsset.atlasHeight = sourceFontAsset.atlasHeight;
- int atlasPadding = fontAsset.atlasPadding = sourceFontAsset.atlasPadding;
- fontAsset.atlasRenderMode = sourceFontAsset.atlasRenderMode;
-
- // Initialize array for the font atlas textures.
- fontAsset.atlasTextures = new Texture2D[1];
-
- // Create and add font atlas texture
- Texture2D texture = new Texture2D(atlasWidth, atlasHeight, TextureFormat.Alpha8, false);
- Color32[] colors = new Color32[atlasWidth * atlasHeight];
- texture.SetPixels32(colors);
-
- texture.name = assetName + " Atlas";
- fontAsset.atlasTextures[0] = texture;
- AssetDatabase.AddObjectToAsset(texture, fontAsset);
-
- // Add free rectangle of the size of the texture.
- int packingModifier = ((GlyphRasterModes)fontAsset.atlasRenderMode & GlyphRasterModes.RASTER_MODE_BITMAP) == GlyphRasterModes.RASTER_MODE_BITMAP ? 0 : 1;
- fontAsset.m_FreeGlyphRects = new List<GlyphRect>() { new GlyphRect(0, 0, atlasWidth - packingModifier, atlasHeight - packingModifier) };
- fontAsset.m_UsedGlyphRects = new List<GlyphRect>();
-
- // Create new Material and Add it as Sub-Asset
- Material tmp_material = new Material(sourceFontAsset.material);
-
- tmp_material.name = texture.name + " Material";
- tmp_material.SetTexture(ShaderUtilities.ID_MainTex, texture);
- tmp_material.SetFloat(ShaderUtilities.ID_TextureWidth, atlasWidth);
- tmp_material.SetFloat(ShaderUtilities.ID_TextureHeight, atlasHeight);
-
- tmp_material.SetFloat(ShaderUtilities.ID_GradientScale, atlasPadding + packingModifier);
-
- tmp_material.SetFloat(ShaderUtilities.ID_WeightNormal, fontAsset.normalStyle);
- tmp_material.SetFloat(ShaderUtilities.ID_WeightBold, fontAsset.boldStyle);
-
- fontAsset.material = tmp_material;
-
- AssetDatabase.AddObjectToAsset(tmp_material, fontAsset);
-
- // Add Font Asset Creation Settings
- // TODO
-
- // Not sure if this is still necessary in newer versions of Unity.
- EditorUtility.SetDirty(fontAsset);
-
- AssetDatabase.SaveAssets();
- }
- */
-
- //[MenuItem("Assets/Create/TextMeshPro/Font Asset #%F12", true)]
- //public static bool CreateFontAssetMenuValidation()
- //{
- // return false;
- //}
-
- [MenuItem("Assets/Create/TextMeshPro/Font Asset #%F12", false, 100)]
- public static void CreateFontAsset()
- {
- Object target = Selection.activeObject;
-
- // Make sure the selection is a font file
- if (target == null || target.GetType() != typeof(Font))
- {
- Debug.LogWarning("A Font file must first be selected in order to create a Font Asset.");
- return;
- }
-
- Font sourceFont = (Font)target;
-
- string sourceFontFilePath = AssetDatabase.GetAssetPath(target);
-
- string folderPath = Path.GetDirectoryName(sourceFontFilePath);
- string assetName = Path.GetFileNameWithoutExtension(sourceFontFilePath);
-
- string newAssetFilePathWithName = AssetDatabase.GenerateUniqueAssetPath(folderPath + "/" + assetName + " SDF.asset");
-
- //// Create new TM Font Asset.
- TMP_FontAsset fontAsset = ScriptableObject.CreateInstance<TMP_FontAsset>();
- AssetDatabase.CreateAsset(fontAsset, newAssetFilePathWithName);
-
- fontAsset.version = "1.1.0";
-
- // Set face information
- FontEngine.InitializeFontEngine();
- FontEngine.LoadFontFace(sourceFont, 90);
- fontAsset.faceInfo = FontEngine.GetFaceInfo();
-
- // Set font reference and GUID
- fontAsset.m_SourceFontFileGUID = AssetDatabase.AssetPathToGUID(sourceFontFilePath);
- fontAsset.m_SourceFontFile_EditorRef = sourceFont;
- fontAsset.atlasPopulationMode = AtlasPopulationMode.Dynamic;
-
- // Default atlas resolution is 1024 x 1024.
- int atlasWidth = fontAsset.atlasWidth = 1024;
- int atlasHeight = fontAsset.atlasHeight = 1024;
- int atlasPadding = fontAsset.atlasPadding = 9;
- fontAsset.atlasRenderMode = GlyphRenderMode.SDFAA;
-
- // Initialize array for the font atlas textures.
- fontAsset.atlasTextures = new Texture2D[1];
-
- // Create atlas texture of size zero.
- Texture2D texture = new Texture2D(0, 0, TextureFormat.Alpha8, false);
-
- texture.name = assetName + " Atlas";
- fontAsset.atlasTextures[0] = texture;
- AssetDatabase.AddObjectToAsset(texture, fontAsset);
-
- // Add free rectangle of the size of the texture.
- int packingModifier = ((GlyphRasterModes)fontAsset.atlasRenderMode & GlyphRasterModes.RASTER_MODE_BITMAP) == GlyphRasterModes.RASTER_MODE_BITMAP ? 0 : 1;
- fontAsset.freeGlyphRects = new List<GlyphRect>() { new GlyphRect(0, 0, atlasWidth - packingModifier, atlasHeight - packingModifier) };
- fontAsset.usedGlyphRects = new List<GlyphRect>();
-
- // Create new Material and Add it as Sub-Asset
- Shader default_Shader = Shader.Find("TextMeshPro/Distance Field");
- Material tmp_material = new Material(default_Shader);
-
- tmp_material.name = texture.name + " Material";
- tmp_material.SetTexture(ShaderUtilities.ID_MainTex, texture);
- tmp_material.SetFloat(ShaderUtilities.ID_TextureWidth, atlasWidth);
- tmp_material.SetFloat(ShaderUtilities.ID_TextureHeight, atlasHeight);
-
- tmp_material.SetFloat(ShaderUtilities.ID_GradientScale, atlasPadding + packingModifier);
-
- tmp_material.SetFloat(ShaderUtilities.ID_WeightNormal, fontAsset.normalStyle);
- tmp_material.SetFloat(ShaderUtilities.ID_WeightBold, fontAsset.boldStyle);
-
- fontAsset.material = tmp_material;
-
- AssetDatabase.AddObjectToAsset(tmp_material, fontAsset);
-
- // Add Font Asset Creation Settings
- fontAsset.creationSettings = new FontAssetCreationSettings(fontAsset.m_SourceFontFileGUID, fontAsset.faceInfo.pointSize, 0, atlasPadding, 0, 1024, 1024, 7, string.Empty, (int)GlyphRenderMode.SDFAA);
-
- // Not sure if this is still necessary in newer versions of Unity.
- EditorUtility.SetDirty(fontAsset);
-
- AssetDatabase.SaveAssets();
- }
- }
-} \ No newline at end of file