Если значения связаны, почему бы не инкапсулировать их в классе и просто использовать простой Словарь?
На основе этого ответа .
Обязательно укажите PresentationCore.dll
Попробуйте использовать этот код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Media;
namespace fontChecker
{
class Program
{
static void Main(string[] args)
{
var families = Fonts.GetFontFamilies(@"C:\WINDOWS\Fonts\Arial.TTF");
foreach (FontFamily family in families)
{
var typefaces = family.GetTypefaces();
foreach (Typeface typeface in typefaces)
{
GlyphTypeface glyph;
typeface.TryGetGlyphTypeface(out glyph);
IDictionary<int, ushort> characterMap = glyph.CharacterToGlyphMap;
foreach (KeyValuePair<int, ushort> kvp in characterMap)
{
Console.WriteLine(String.Format("{0}:{1}", kvp.Key, kvp.Value));
}
}
}
}
}
}
Выходное изображение удалено из-за того, что ImageShack заменил старый , удалено изображение с рекламой.
Не могли бы вы просто открыть его в Карте символов и обратить внимание на диапазоны символов, которые не определены?
Вероятно, есть программный способ проанализировать файл TTF для получения этой информации, но если это только один конкретный шрифт, то, вероятно, проще просто открыть карту символов, установить для параметра Group by значение Unicode Subrange и Group by "Japanese Hiragana / Katakana" и просто принять к сведению определенные диапазоны.