Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.04.2018, 15:29   #11
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от Скарам Посмотреть сообщение
А в десятичном? Хотя, и это уже проверил, наверно.
Оно встречается вот в этих блоках:
Код:
<</Encoding/WinAnsiEncoding/FirstChar 0/Subtype/TrueType/Type/Font/Widths[1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000
 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 312 332 401 727 545 976 673 210 382 382 545 727 302 363 302 382
 545 545 545 545 545 545 545 545 545 545 353 353 727 727 727 473 909 599 589 600 678 561 521 667 675 373 416 587 497 770 667 707 551 707 620 557 583 655
 596 901 580 576 559 382 382 382 727 545 545 524 552 461 552 526 318 552 557 228 281 498 228 839 557 542 552 552 360 446 334 557 498 742 495 498 444 480
 382 480 727 1000 718 507 210 415 397 817 545 545 545 1390 1001 382 983 602 717 675 578 210 210 401 401 454 545 909 1000 875 826 382 823 498 578 563 312
 575 498 416 545 507 382 545 561 928 599 573 727 363 928 373 470 727 373 228 415 567 545 353 526 1140 471 573 281 557 446 228 599 589 589 507 683 561 894
 532 669 669 602 677 770 675 707 675 551 600 583 575 748 580 685 635 943 958 689 788 582 599 951 611 524 549 524 415 558 526 730 457 563 563 498 555 638 
562 542 563 552 461 466 498 759 495 571 542 778 790 568 692 500 471 761 527]/LastChar 255/FontDescriptor 18 0 R/BaseFont/ABCDEE+Tahoma>>
Но ведь это как в спеке написано ширины символов.



У меня тут есть вначале 3 потока. Я их расшифровываю но в них мусор какой-то. А может это и есть шрифты упакованные?? потому что если их убирать из документа то весь документ начинает плавать.
А в каком формате могут быть шрифты и как мне их у себя использовать?



та блин точно. переименовал их в ttf и оказалось что это две тахомы и один ариал.
Че дальше?? как их юзать то??
Вложения
Тип файла: 7z System32.7z (48.5 Кб, 6 просмотров)
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.

Последний раз редактировалось WorldMaster; 17.04.2018 в 15:51.
WorldMaster вне форума Ответить с цитированием
Старый 17.04.2018, 15:39   #12
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Искать в десятичном виде скорее всего, но тоже не фонтан. Если отнять 0х128 то ansi-код получится, для кириллицы только
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 17.04.2018, 16:00   #13
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 822
По умолчанию

Попробуй экспорт в PostScript, xpdfreader Есть вопрос на стеке
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 17.04.2018, 16:01   #14
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от Скарам Посмотреть сообщение
Попробуй экспорт в PostScript, xpdfreader Есть вопрос на стеке
Так я их вытащил все нормально. А как по ним теперь найти правильные соответствия символов то??
Те строки которые я выше привел используя эти шрифты перевести в нормальную кодировку чтобы потом можно было в другой файл вставить.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 17.04.2018, 16:26   #15
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 822
По умолчанию

Это ttf. Опять надо смотреть структуру файла.
Может как-то так?
Не давай организму поблажки, каждый день тренируй его в шашки..

Последний раз редактировалось Скарам; 17.04.2018 в 16:33.
Скарам вне форума Ответить с цитированием
Старый 17.04.2018, 16:34   #16
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Короче вот такая вот хрень:

Код:
var families1 = Fonts.GetFontFamilies(@"C:\1.TTF");
Dictionary<int, ushort> characterMap1 = new Dictionary<int, ushort>();

  foreach (System.Windows.Media.FontFamily family in families1)
                        {
                            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)
                                {
// все что есть сливаем в кучу в один набор
                                    if (!characterMap1.ContainsKey(kvp.Key)) characterMap1.Add(kvp.Key, kvp.Value);

                                    //Console.WriteLine(String.Format("{0}:{1}", kvp.Key, kvp.Value));
                                }

                            }
                        }
Далее:

Код:
    string dl = "020b0216020c02080003";
                        string result = "";
                        for (int i = 0; i < dl.Length; i += 4)
                        {
                            UInt16 df = Convert.ToUInt16(dl.Substring(i, 4), 16);
                            var myKey = characterMap1.FirstOrDefault(x => x.Value == df).Key;
                            if (myKey == 0)
                                myKey = characterMap2.FirstOrDefault(x => x.Value == df).Key;
                            if (myKey == 0)
                                myKey = characterMap3.FirstOrDefault(x => x.Value == df).Key;

                            
                                result += Encoding.Unicode.GetString(BitConverter.GetBytes((UInt16)myKey));

                        }
на выходе получаем "года " с правильными пробелами ...
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 17.04.2018, 16:46   #17
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 822
По умолчанию

Моим глазам больно. Даже если учесать, не думаю, что будет многим лучше. Вопрос возникает с тем, из какого словаря брать. Думаю, что шрифт указывается для каждого блока текста, поэтому нужно брать сразу из правильного словаря.
З.Ы. Поздравляю с победой.
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 17.04.2018, 16:53   #18
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от Скарам Посмотреть сообщение
Моим глазам больно.
Да моим тоже больно, но это так сказать лобовое решение. Дальше то нужно структуру восстанавливать чтобы допустим скидывая в файлик экселя таблица получилась правильная.


Цитата:
Сообщение от Скарам Посмотреть сообщение
Вопрос возникает с тем, из какого словаря брать. Думаю, что шрифт указывается для каждого блока текста, поэтому нужно брать сразу из правильного словаря.
Да вначале типа набор шрифтов. Их нужно загрузить изначально. А затем в основных потоках идет разметка текста и там указан какой шрифт для какого слова нужно брать. Потому как московские разрабы сделали так что для жирных символов используется один шрифт, для наклонных другой .. и так далее...
Теперь буду курить разметку... ))
Круто всем спасибо за участие.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт по конвертированию pdf (ebook) в po4a, и --> new pdf patsev.anton Фриланс 2 05.12.2014 08:16
Разбор видеопотока Фантом Фриланс 1 14.11.2014 08:37
Работа с pdf в Cairo. Какая функция создает, какая начинает вторую страницу pdf? KATbIK Общие вопросы C/C++ 1 02.08.2011 21:07
как в PhotoShop два файла скеить в один pdf файл? Допустим я нарисовал 2 страницы книги и мне их нужно объединить в один pdf N!ckeL Моделирование, изометрия, photoshop, 3d редакторы 2 15.05.2008 19:34