字体压缩
This commit is contained in:
parent
9a0bf66ac1
commit
51b7ea056a
1
Unity/Assets/Fonts/ChineseCharSet.txt
Normal file
1
Unity/Assets/Fonts/ChineseCharSet.txt
Normal file
@ -0,0 +1 @@
|
||||
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_abcdefghijklmnopqrstuvwxyz{|}×÷—‘’“”…。〈〉《》「」『』【】一丁七万三上下不与专且世业东丝两严个中丰丸丹为主丽举久么之乌乎乐也习乡书买乱了予争事二于亚些亡交亦产亨享亭亮亲人什仅仆仇今介仍从仑仓他仙代以仨仪们仰件价任份伊伐众优伙会伟传伤伦伫伯似但位低体何余佛作你佩使侈侍供便保信修倍倒候值做停偶偷傑傲像儿允先光克兔入全八公六兰共关兴兵其具典兹养兼内冉再冕写军农冠冥冲决况冶冷净减几凡凯凶出击凿刃分切划列则创初删利别到制刺刻前剑剧剩力办功加务动助努劫励势勃勇勉勒包化北区十千升半华协卑单南博占卡卢卫印即却卷厂厄历厉压原去参又及友双反发取受变口古只叫召可台史吃各合吉同名后向吕吗君吧听启吸呀告呢周呼命和咲咳品哇哈哎哗哥哦哪哮哲哼唤唯商啊啧喘喜喝喧嗯嘉嘛嘻囚四回因团园围固国图土圣在地场坂坊坎坏坐块坛坝坦垦埃埋城域基堡塑塔塞境墓墙增墟墩壁壤士壮声处备复外多夜够大天太夫失头奇奈奉奖奢奥女她好如妄妖妹姆始姐委姬姿威娜子孔字存孟季学守安完宏官定宝实宠客宣室宫害宴家容密富寝寸对寺寻导射将小少尔尘尚尤就尺尼尽局居展属山屹岁岛崩巅巡工巨差己已巴币市布帆希帕帝带帮常幡平年并幸幻幼广庄庆庇库应底庙庞废度座庭建开异式弓引弗张弱强归当形彩影彻往征待很得御德心必志忘忠快念态怎怕怖思怠性怨怪总恋恒恢恩恭息恶悄悠您悲情惑惜惰想愈意感愿慈慑慕慧憾懂懒戎戏成我或战截所手才打托扣执扩扭扮找承技把投折抚抢护报押抽担拆拉招拜拥择括拳拿持指挑挖挚挡挥挫挺捕损捷排掘探接控掩提搬摩撒操擦攀收改攻放政故效敌敏教敢敦数整文斋斐斗斯新方施旋无既日旧旨早时旷旺昂明易昔昙星是显晚普智暂曜曲更曼曾替最月有服朗望朝期木未本术朴朵机杀权村杖杜束条来杯杰松极构枉林枚果枫柏某柔柱标树样核根格桑桥梁梅梦梯森植概榭模横次欢欧款止正此步武死残殿毁母每毒比毫氏气水永汉汤沃沉沙没河治泄法波注泰泽洋洒洛津洪洲活流浅测济浦浪浮海涂消涉涛深混清渔温港游湮溅源滋滕满滩演漫潇潜火灭灵炮点炼烂烈烦焚焰然煌熊燐爬爱爽片版牌牛物特犬狂狗狩狮狱猎猩猫献率王玛玩玫现珊班理琉琳瑙瑟瑰瓦瓶甚生用田由甲界畔留略疆疗痛登白百的皇皮盖盗盛盟目直相盾看真眠眼着睡瞧瞻矢知石矿研破础确碑碾示礼社祈神祭祷禁福离私秋种科秘称移稀程税稼究空穿突立站端竹第等筋筑答策简算管箭米类粹精糊系索累繁红约级纪纯纳纵纷纽练组绅织终绍经结给统继绩续绯维综绿网罕罗罢置美群翁翰翻老考者而耕耗耳聊职联聪肩育胁胜胡能脉脑脚脱脸腓自至致舌舍航舰船艇良色艳艾节芙芜花苏苗若苦英范茅茨草荒荡荣荷莉莫莱莲获菜菲萄营萨落著葡蒂蒙蓝蓬蔬蕾藏藤虫虹虽蛇蛋融血行衣表袖被袭褪西要见观规视觉角解言詹计认讨让训议记讷许论设访诀评识诉试诚话该语误说诶请诹诺读课谁调谎谜谢谷象贝负财责贤败购贵贸费贾资赌赐赖赛赞赠赢赫走赴起超越趟趣足跃距路跳蹈身车转轻载较辅辉输辛辰边达迁过迈迎运近返还这进远连迦迪迹追退送逃选途通速造遁遇道遗邓那邦邻部都酱醒采里重野量金鉴钢钱铁铃铜银锁锋锐错锡键锯长门闪闭问间阁队防阳阴阵阶阿陀附陆降限院除陨陪陵隆随隐难雄雅集雇雕雨零雷需霍露霸静非靠靡面革韦音顶项须顽顾顿预领题额颠风飞饭饰馆馈首香马驱验骑骤骨高鬼魅魏魔鱼鲁鲜鲸鸟鸣鹅麻黄黎黑默鼎鼠齐!"+,-/:;=?[\]_{|}~
|
||||
7
Unity/Assets/Fonts/ChineseCharSet.txt.meta
Normal file
7
Unity/Assets/Fonts/ChineseCharSet.txt.meta
Normal file
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4e7211272c0b8d14384c9557fb5e78ef
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
94
Unity/Assets/Scripts/Logic/Editor/FontEditorWindow.cs
Normal file
94
Unity/Assets/Scripts/Logic/Editor/FontEditorWindow.cs
Normal file
@ -0,0 +1,94 @@
|
||||
using UnityEngine;
|
||||
using UnityEditor;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using System.Collections.Generic;
|
||||
using TMPro;
|
||||
using System.Linq;
|
||||
using Logic.Multilingual;
|
||||
|
||||
public class ChineseCharacterOptimizer : EditorWindow
|
||||
{
|
||||
private HashSet<char> characterSet = new HashSet<char>();
|
||||
|
||||
[MenuItem("Tools/中文字符优化工具")]
|
||||
public static void ShowWindow()
|
||||
{
|
||||
GetWindow<ChineseCharacterOptimizer>("中文字符优化");
|
||||
}
|
||||
|
||||
private void OnGUI()
|
||||
{
|
||||
if (GUILayout.Button("导出字符集"))
|
||||
{
|
||||
AddBasicCharacters();
|
||||
ExtractChineseFromI2Languages();
|
||||
ExportCharacterSet();
|
||||
}
|
||||
}
|
||||
|
||||
private void AddBasicCharacters()
|
||||
{
|
||||
// 添加大写字母
|
||||
for (char c = 'A'; c <= 'Z'; c++)
|
||||
{
|
||||
characterSet.Add(c);
|
||||
}
|
||||
|
||||
// 添加小写字母
|
||||
for (char c = 'a'; c <= 'z'; c++)
|
||||
{
|
||||
characterSet.Add(c);
|
||||
}
|
||||
|
||||
// 添加数字
|
||||
for (char c = '0'; c <= '9'; c++)
|
||||
{
|
||||
characterSet.Add(c);
|
||||
}
|
||||
|
||||
// 添加常用标点符号
|
||||
string punctuations = ",.!?;:\"'()[]{}+-*/=_<>@#$%^&|\\~|/\~{}[]【】「」『』《》〈〉:;“” ‘’",。?!…—--_+-=×÷";
|
||||
foreach (char c in punctuations)
|
||||
{
|
||||
characterSet.Add(c);
|
||||
}
|
||||
}
|
||||
|
||||
private void ExtractChineseFromI2Languages()
|
||||
{
|
||||
var path = $"Assets/Resources/Export/Multilingual.asset";
|
||||
var asset = AssetDatabase.LoadAssetAtPath<MultilingualData>(path);
|
||||
if (asset == null)
|
||||
{
|
||||
EditorUtility.DisplayDialog("错误", "未找到多语言资源文件,请确认路径是否正确。", "确定");
|
||||
return;
|
||||
}
|
||||
|
||||
foreach (var item in asset.Items)
|
||||
{
|
||||
foreach (var c in item.ZH)
|
||||
{
|
||||
if (!IsChinese(c)) continue;
|
||||
characterSet.Add(c);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private bool IsChinese(char c)
|
||||
{
|
||||
return (c >= 0x4E00 && c <= 0x9FFF) || // CJK统一汉字
|
||||
(c >= 0x3400 && c <= 0x4DBF) || // CJK扩展A
|
||||
(c >= 0x20000 && c <= 0x2A6DF); // CJK扩展B
|
||||
}
|
||||
|
||||
private void ExportCharacterSet()
|
||||
{
|
||||
string path = EditorUtility.SaveFilePanel("保存字符集", "Assets/Fonts", "ChineseCharSet", "txt");
|
||||
if (!string.IsNullOrEmpty(path))
|
||||
{
|
||||
File.WriteAllText(path, string.Join("", characterSet.OrderBy(c => c)), Encoding.UTF8);
|
||||
EditorUtility.DisplayDialog("成功", "字符集已导出!", "确定");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6c9bc004235b4e9db0a3fd4454bdf4e3
|
||||
timeCreated: 1753844895
|
||||
Loading…
x
Reference in New Issue
Block a user