【WIN10】Segoe MDL2 Assets

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="&#xE001;" FontFamily="Segoe MDL2 Assets" />

與代碼中寫是一樣的。

 

enjoy your coding.

[END]

posted @ 2015-12-31 15:52  賣魚人  阅读(1633)  评论(0编辑  收藏  举报