как использовать шрифт ORIYA в разработке смарт-устройства? - PullRequest
1 голос
/ 21 июня 2011

Я занимаюсь разработкой приложения для устройства на базе WINDOWS CE5.0.Это требует, чтобы язык ORIYA (ИНДИЙСКИЙ РЕГИОНАЛЬНЫЙ ЯЗЫК) использовался полностью.Так как Visual Studio использует английский как стандартный язык, скажите, пожалуйста, как поступить?Я попытался скопировать шрифт в папку WINDOWS / FONTS устройства WINDOWS CE, но при перезапуске устройства этот файл шрифта исчезает.Я разработал приложение на c # и изменил текст метки на oriyaa в системе разработки.В системе разработки это выглядит хорошо, но когда я развернул его на устройстве, весь текст метки появляется на английском языке.Я не знаю, что происходит?Мне также нужно установить свойство LABEL.TEXT на языке ORIYA.Является ли это возможным?Как принять пользовательский ввод в ORIYA?Пожалуйста, помогите ..... Спасибо ...

Ответы [ 2 ]

1 голос
/ 21 июня 2011

Не совсем уверен, что вы подразумевали под браузером, но для Forms вы можете использовать PrivateFontCollection

, вы можете загрузить шрифт из папки в вашем приложении и затем использоватьAddFontFile или AddMemoryFont в соответствии с вашими потребностями.Теперь клиент может видеть элементы управления в заданном вами шрифте и его доступность для него независимо от того, установлен он или нет

0 голосов
/ 21 июня 2011

Я использовал следующий подход с английскими шрифтами, но я не уверен, будет ли он работать в вашем случае.Первоначальный источник этого подхода - хороший пост от Криса Таке (SO user @ctacke) с некоторыми изменениями.

    [DllImport("coredll.dll")]
    private static extern int AddFontResource(string lpszFilename);
    [DllImport("coredll.dll", SetLastError = true)]
    private static extern int SendMessage(IntPtr hWnd, int wMsg, IntPtr wParam, IntPtr lParam);
    static IntPtr HWND_BROADCAST = (IntPtr)0xFFFF;
    const int WM_Fontchange = 0x001D;

    private static void RegisterFont(string aFontPath, string aTargetFontPath)
    {
        IntPtr thir = (IntPtr)0;
        IntPtr fourth = (IntPtr)0;
        try
        {
            if (!System.IO.File.Exists(aTargetFontPath))
                System.IO.File.Copy(aFontPath, aFontTargetPath);
        }
        catch { throw; }
        int _Loaded = AddFontResource(aFontTargetPath);
        if (_Loaded != 0)
            SendMessage(HWND_BROADCAST, WM_Fontchange, thir, fourth);
    }
...