powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VB конвертер шрифта
20 сообщений из 20, страница 1 из 1
VB конвертер шрифта
    #38004763
Namik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго Вам времени суток
Уважаемые господа

при наличии времени прошу Вас подсказать

есть большое количество документов которые были написаны шрифтом ArialAzLat (не через раскладку клавиатуры)
необходимо перевести эти документы в unikod (привести их в тот вид - как если бы они были бы набраны через раскладку клавиатуры)

возможно ли это ?
где можно почитать об этом, или посмотреть пример

С Уважением
Намик
...
Рейтинг: 0 / 0
VB конвертер шрифта
    #38004775
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Намик, вы путаете шрифт, кодировку и раскладку.
Давайте может конкретный файлик для примера.
...
Рейтинг: 0 / 0
VB конвертер шрифта
    #38004789
Namik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
приветствую Вас
Благодарю Вас за ответ

вот пример


чтобы файл открылся Вам нужны будут шрифты которые я вложил
...
Рейтинг: 0 / 0
VB конвертер шрифта
    #38004794
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А результат какой надо получить?
...
Рейтинг: 0 / 0
VB конвертер шрифта
    #38004798
Namik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
без этих шрифтов - этот документы (и ему подобные) не будут читабельны при открытии
а вот если бы их набирали, выбрав в раскладке клавиатуры az(латиница)
то они откроются на любом компьютере

как их перевести вот в этот формат

С Уважением и Благодарностью
Намик
...
Рейтинг: 0 / 0
VB конвертер шрифта
    #38004809
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К слову, шрифты можно интегрировать в документ - то есть они будут распространяться с документом и открыть можно будет везде.

Что касается перевода в юникод - можно принтскрином выложить то, что сейчас и то, что нужно получить, а то я что-то делаю, но не уверен в том, что я правильно делаю.
...
Рейтинг: 0 / 0
VB конвертер шрифта
    #38004815
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще вопрос, вот этот текст:
Мящсяти Эянжяви, Щейран ханым Дцнбцли, Ашыг Пяри иля бярабяр Хуршидбану Натяван да Азярбайжан ядябиййаты тарихиндя юзцнямяхсус хидмятляри олмуш гадын шаирляримиздяндир. имеет какой-то смысл в AZ(кир) или нет?
...
Рейтинг: 0 / 0
VB конвертер шрифта
    #38004821
Namik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
прошу Вас просмотреть пример

если Вы сейчас удалите из системы те шрифты которые я Вам отослал
то в левом столбце таблицы будут иероглифы и кириллический текст а в правом всё сохраниться неизменно

С Уважением и Благодарностью
Намик
...
Рейтинг: 0 / 0
VB конвертер шрифта
    #38004826
Namik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемый Shocker.Pro,
Вы кажется не загрузили те шрифты которые были в папке поэтому текст так и отражается

прошу Вас просмотреть второй пример я думаю Вы увидите как необходимо получить

С Уважением и Благодарностью
Намик
...
Рейтинг: 0 / 0
VB конвертер шрифта
    #38004836
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да не, загрузил, разобрался

в общем надо просто заменить (Ctrl+H) одну букву (скопировав ее из левой ячейки) на ту же букву, (скопировав ее из правой ячейки). И так для всего алфавита. Потом в левой ячейке поставить любой юникодовый шрифт и выбрать язык az(латиница). По крайней мере я так проделал и у меня получилось нужное (не для всех букв, разумеется).
...
Рейтинг: 0 / 0
VB конвертер шрифта
    #38004842
Namik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я пробовал так

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
Sub replika()
'
' replika Ìàêðîñ
' Ìàêðîñ çàïèñàí 12.10.2012 Namik
'

Dim azlatrn, unikodrn

azlatrn = Array("À", "à", "Á", "á", "Æ", "æ", "×", "÷", "Ä", "ä", "Å", " å", "ß", "ÿ", "Ô", "ô", "Ý", "ý", "Ü", "ü", "Ù", " ù", "Õ", " õ", "Û", "û", "È", "è", "Ú", "ú", "Ê", " ê", "Ã", "ã", "Ë", " ë", "Ì", " ì", "Í", " í", "Î", " î", "Þ", " þ", "Ï", " ï", "Ð", " ð", "Ñ", " ñ", "Ø", " ø", "Ò", " ò", "Ó", " ó", "Ö", " ö", "Â", " â", "É", " é", "Ç", " ç")

unikodrn = Array("A", " a", "B", "b", "C", " c", ChrW(199), ChrW(231), "D", " d", "E", " e", ChrW(399), ChrW(601), "F", " f", "G", " g", ChrW(286), ChrW(287), "H", "h", "X", " x", "I", ChrW(305), ChrW(304), " i", "J", " j", "K", "k", "Q", "q", "L", "l", "M", "m", "N", " n", "O", " o", ChrW(214), ChrW(246), "P", " p", "R", "r", "S", "s", ChrW(350), ChrW(351), "T", "t", "U", "u", ChrW(220), ChrW(252), "V", " v", "Y", "y", "Z", "z")

 Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    
       
    For i = 0 To 63
    
    
    With Selection.Find
        .Text = azlatrn(i)
        .Replacement.Text = unikodrn(i)
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = True
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll

    Next
    MsgBox "Ok"
End Sub



Однако когда я удалял шрифты
всё было по по прежнему (не читабельно)

С Уважением и Благодарностью
Намик
...
Рейтинг: 0 / 0
VB конвертер шрифта
    #38004846
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это же можно сделать и программно, составив таблицу замен с ASCII на юникод, к пример в данном случае "ш" заменяется на ChrW(351). Но я не помню вашу подкованность в программировании, сможете ли вы создать цикл по таблице замен, а также цикл перебора файлов (он, как я понимаю, тоже нужен)
...
Рейтинг: 0 / 0
VB конвертер шрифта
    #38004849
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пока отвечал, вы написали, ща проверю ваш вариант
...
Рейтинг: 0 / 0
VB конвертер шрифта
    #38004854
Namik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
перебор Файла - Вы имеете ввиду чтобы он открывал файл проверял шрифт ?
если да

то мы сами будет конвертировать нужный файл

авторсоставив таблицу замен с ASCII на юникод

А вот то что я пробовал -это оно или Вы имеете ввиду что то другое ?

если можно - один пример замены, на одну букву а дальше я сам постараюсь разобраться

С Уважением и Благодарностью
Намик
...
Рейтинг: 0 / 0
VB конвертер шрифта
    #38004864
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Namikперебор Файла - Вы имеете ввиду чтобы он открывал файл проверял шрифт ?я сказал "перебор файлов" - ну то есть открыть все файлы, выполнить в них этот макрос, заменить шрифт, сохранить и закрыть, но это отдельная песня.

Макрос ваш правильный, но только он не делает ни одной замены букв (кстати, что вы его сразу-то не выложили, вы ж не первый день на форуме). Просто конструкцию " 240;" по крайней мере мой 2003-й не понимает.
А вот так:
Код: vbnet
1.
2.
3.
4.
azlatrn = Array(192, 224, 193, 225, 198, 230, 215, 247, 196, 228, 197, 229, 223, 255, 212, 244, _
221, 253, 220, 252, 217, 249, 213, 245, 219, 251, 200, 232, 218, 250, 202, 234, 195, 227, 203, _
235, 204, 236, 205, 237, 206, 238, 222, 254, 207, 239, 208, 240, 209, 241, 216, 248, 210, 242, _
211, 243, 214, 246, 194, 226, 201, 233, 199, 231)

и так
Код: vbnet
1.
.Text = Chr(azlatrn(i))

получилось
...
Рейтинг: 0 / 0
VB конвертер шрифта
    #38004867
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только у вас в массиве unikodrn почему-то лишние пробелы есть, из-за них текст немного коцается.
...
Рейтинг: 0 / 0
VB конвертер шрифта
    #38004873
Namik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, на счет выложить свой пример - это Вы правы я забыл об этом

все работает
лишние пробелы я уберу

Дай Вам Бог всего

С Уважением и Благодарностью
Намик
...
Рейтинг: 0 / 0
VB конвертер шрифта
    #38004874
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, там не помешает
Код: vbnet
1.
Application.ScreenUpdating = False

в начале макроса и
Код: vbnet
1.
Application.ScreenUpdating = True

в конце, чтобы на экране ничего не мелькало
...
Рейтинг: 0 / 0
VB конвертер шрифта
    #38004875
Namik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо Вам большое

Благодарю Вас
...
Рейтинг: 0 / 0
VB конвертер шрифта
    #38004890
Namik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот рабочий вариант вопроса
может кому пригодиться

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
Sub replika()
'
' replika Ìàêðîñ
' Ìàêðîñ çàïèñàí 12.10.2012 Namik
'
Application.ScreenUpdating = False

Dim azlatrn, unikodrn

azlatrn = Array(192, 224, 193, 225, 198, 230, 215, 247, 196, 228, 197, 229, 223, 255, 212, 244, 221, 253, 220, 252, 217, 249, 213, 245, 219, 251, 200, 232, _
218, 250, 202, 234, 195, 227, 203, 235, 204, 236, 205, 237, 206, 238, 222, 254, 207, 239, 208, 240, 209, 241, 216, 248, 210, 242, 211, 243, 214, 246, 194, 226, 201, _
233, 199, 231)

unikodrn = Array("A", "a", "B", "b", "C", "c", ChrW(199), ChrW(231), "D", "d", "E", "e", ChrW(399), ChrW(601), "F", "f", "G", "g", ChrW(286), ChrW(287), "H", "h", "X", "x", "I", ChrW(305), ChrW(304), "i", "J", "j", "K", "k", "Q", "q", "L", "l", "M", "m", "N", "n", "O", "o", ChrW(214), ChrW(246), "P", "p", "R", "r", "S", "s", ChrW(350), ChrW(351), "T", "t", "U", "u", ChrW(220), ChrW(252), "V", "v", "Y", "y", "Z", "z")

 Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    
       
    For i = 0 To 63
    
    
    With Selection.Find
        .Text = Chr(azlatrn(i))
        .Replacement.Text = unikodrn(i)
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = True
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll

    Next
    
  Application.ScreenUpdating = True
    MsgBox "Ok"
End Sub



спасибо Shocker.Pro

С Уважением и Благодарностью
Намик
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VB конвертер шрифта
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]