APP下載地址:https://www.microsoft.com/store/apps/9nblggh5k2hf
最近使用文本圖標Segoe MDL2 Assets時,使用字符映射表看,那個圖標真的很小,看不清楚,而且又不支持滾動瀏覽,相當不方便,於是寫一個自己的瀏覽工具。
我們可以先來看下字符映射表的樣子:
再來看看,我寫的工具的樣子:
圖標這麼大,明顯看起來就不這麼吃力了,而且“雙擊”允許用戶添加感興趣的圖標~~~~
程序員其中的一個好處是,可以開發自己想要的工具,不用去網上海搜,而且結果還經常不如人意,不是被流氓了,就是會中毒,或者功能相當局限。
好吧,下面說下制作流程:
1.得到字體中的所有字符。
UWP中,我不知道如何獲取,不過在WPF中,獲取字體是相當簡單的。
WPF代碼:
FontFamily font = new FontFamily("Segoe MDL2 Assets");foreach (Typeface typeface in font.GetTypefaces()) { typeface.TryGetGlyphTypeface(out glyph); if (glyph != null) { // plyph 裡的KEY就是字符映射表中的字符代碼。 } }
抄的這篇博客:http://www.codeproject.com/Articles/396811/Character-Map-in-WPF
2.把所有的字符存到一個TXT中。
3.然後用WIN10讀取TXT。
因為我們得到的是字符的代碼,如:0xE001。
在設置Text的時候,不能直接給 "E001",而是要把這個 0xE001 弄成一個字符串。(字符值為0xE001,如A的值為0x41)。
代碼:
unchecked { ushort assetData = 0xE001; char tempText = (char)assetData; string txt = tempText.toString(); }
注意在XAML中,直接寫時:
<TextBlock Text="" FontFamily="Segoe MDL2 Assets" />
與代碼中寫是一樣的。
enjoy your coding.
[END]