Помогите, пожалуйста, решить следующую проблему.
Мне нужно создать шрифт по следующий данным:
стиль шрифта (например: "Курсив", "Italic"...)
имя шрифта, размер и любая другая необходимая информация (особого значения в данном случае не имеют)
Вся проблема возникает из-за того, что стиль шрифта может быть записан на разных языках (как я понимаю зависит от самого шрифта). То есть я немогу его самостоятельно конвертировать в набор флажков и заполнять структуры описывающие шрифт.
Пробывал CreateFont, CreateFontIndirect, CreateFontIndirectEx (возможно я не правильно их использовал, но заставить их работать у меня не получилось). Возможно есть функция, которая конвертирует строку со стилем во флажки или еще что-то такое, но опять же найти ее не удалось.
Здравствуйте, _skv_, Вы писали:
__>Мне нужно создать шрифт по следующий данным: __> стиль шрифта (например: "Курсив", "Italic"...) __>Вся проблема возникает из-за того, что стиль шрифта может быть записан на разных языках (как я понимаю зависит от самого шрифта). То есть я немогу его самостоятельно конвертировать в набор флажков и заполнять структуры описывающие шрифт. __>Пробывал CreateFont, CreateFontIndirect, CreateFontIndirectEx (возможно я не правильно их использовал, но заставить их работать у меня не получилось).
Что-то вы недоразобрались, любезный :-)
Стили шрифта задаются следующими параметрами ф-ии CreateFont :
0 — стиль не применяется, не 0 — стиль применяется.
int fnWeight, // жирность шрифта.
тут не булеввый флаг, а жирность в неких условных единицах. Наиболее интересны константы
FW_NORMAL и FW_BOLD.
__> Возможно есть функция, которая конвертирует строку со стилем во флажки или еще что-то такое, но опять же найти ее не удалось.
Наверняка есть такая ф-ия, писаная безвестным васей пупкиным для своей заддачи в далеком городе N
Вам, боюсь что придется повторить его подвиг ;-)
Здравствуйте, SexMachine, Вы писали:
SM>Здравствуйте, _skv_, Вы писали:
__>>Мне нужно создать шрифт по следующий данным: __>> стиль шрифта (например: "Курсив", "Italic"...) __>>Вся проблема возникает из-за того, что стиль шрифта может быть записан на разных языках (как я понимаю зависит от самого шрифта). То есть я немогу его самостоятельно конвертировать в набор флажков и заполнять структуры описывающие шрифт. __>>Пробывал CreateFont, CreateFontIndirect, CreateFontIndirectEx (возможно я не правильно их использовал, но заставить их работать у меня не получилось).
SM>Что-то вы недоразобрались, любезный SM> Стили шрифта задаются следующими параметрами ф-ии CreateFont :
SM> DWORD fdwItalic, // Курсив SM> DWORD fdwUnderline, // Подчеркнутый SM> DWORD fdwStrikeOut, // зачеркнутый
SM> 0 — стиль не применяется, не 0 — стиль применяется.
SM> int fnWeight, // жирность шрифта.
SM> тут не булеввый флаг, а жирность в неких условных единицах. Наиболее интересны константы SM>FW_NORMAL и FW_BOLD.
__>> Возможно есть функция, которая конвертирует строку со стилем во флажки или еще что-то такое, но опять же найти ее не удалось. SM>Наверняка есть такая ф-ия, писаная безвестным васей пупкиным для своей заддачи в далеком городе N SM>Вам, боюсь что придется повторить его подвиг
Все это конечно очень хорошо, но повторюсь, у меня есть СТРОКА, которая может быть как на русском языке, так на английском и не известно на скольких еще, поэтому просто конвертировать ее во фложок я не могу, если вы можете, то пожалуйста напишите как это сделать
Здравствуйте, _skv_, Вы писали:
__>Все это конечно очень хорошо, но повторюсь, у меня есть СТРОКА, которая может быть как на русском языке, так на английском и не известно на скольких еще, поэтому просто конвертировать ее во фложок я не могу, если вы можете, то пожалуйста напишите как это сделать
Здравствуйте, _skv_, Вы писали:
__>Все это конечно очень хорошо, но повторюсь, у меня есть СТРОКА, которая может быть как на русском языке, так на английском и не известно на скольких еще, поэтому просто конвертировать ее во фложок я не могу, если вы можете, то пожалуйста напишите как это сделать
Вынужден тебя разочаровать. Windows — отнюдь не переводчик, и о том, как переводится слово "курсив" на хинди или итальянский, понятия не имеет. Так что придется все это вручную делать — полиглота искать.
Здравствуйте, Дядюшка Че, Вы писали:
ДЧ>Здравствуйте, _skv_, Вы писали:
__>>Все это конечно очень хорошо, но повторюсь, у меня есть СТРОКА, которая может быть как на русском языке, так на английском и не известно на скольких еще, поэтому просто конвертировать ее во фложок я не могу, если вы можете, то пожалуйста напишите как это сделать
ДЧ>А откуда она берется в таком прикольном формате?
В таком прикольном формате Microsoft Excel записывает header и footer. Причем это зависит от компьютера, например: у одного товарища на компьютере он записал шрифт "Symbol,Regular" и "Tahoma,Полужирный", то есть в одной строке комбинация русских и английских названий стилей. У меня практически все пишет по-русски. И раз он это чудо потом может распарсать, то я так подозреваю что должна быть функция, в которую строку такого типа можно передать и она создат шрифт (хотя может я и ошибаюсь)
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Здравствуйте, _skv_, Вы писали:
__>>Все это конечно очень хорошо, но повторюсь, у меня есть СТРОКА, которая может быть как на русском языке, так на английском и не известно на скольких еще, поэтому просто конвертировать ее во фложок я не могу, если вы можете, то пожалуйста напишите как это сделать
PD>Вынужден тебя разочаровать. Windows — отнюдь не переводчик, и о том, как переводится слово "курсив" на хинди или итальянский, понятия не имеет. Так что придется все это вручную делать — полиглота искать.
Ну мне не совсем переводить надо, эти же строки он где-то хранит, или в самом файле шрифта они записываються или еще где-то, в любом случае с помощью Enum.... функции можно его получить, к тому же система выводит его в диалоге выбора шрифта, все что мне нужно это обратно конвертировать это строку в шрифт.