Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : vitus@ice.ru                         2:5020/400     14 Nov 2001  20:35:57
 To : Ilya Anfimov
 Subject : Re: Редактоp текстовый под Линyкс
 -------------------------------------------------------------------------------- 
 
 Ilya Anfimov <ilan@adt.ru> wrote:
 
 >>Вообще говоря, TeX рассчитан на все, что угодно. Можно создать шрифтовой
 >>пакет, метрики которого будут соответствовать метрикам прошитого
 >>шрифта и использовать эти шрифты. А для точного позиционирования
 >>использовать графические команды. Именно так, по-моему, работал
 
 IA>Теоретически  да...  Hо  как  ты  себе представляешь начинающего,
 IA>создающего  шрифтовой  пакет  в  TeXе?  А  развлекающегося  затем
 
 Hужда научит калачи есть. Идется в книжный магазин, покупается
 LaTeX companion и экспериментируется.
 
 IA>прописыванием  шрифтов  этого  пакета  в LaTeX? Я например себя в
 IA>такой роли не представляю. Кроме того, мне кажется  (может  быть,
 IA>что   и   мерещится),  что  ESC/P  в  текстовом  режиме  не  дает
 IA>возможности точно (до пикселя) позиционировать символы.
 
 ESC/P позволяет сочетать в одной строке текстовые и графические команды.
 Там нет четко выраженного текстового и графического режима.
 
 Вполне допустима следующая последовательность команд 
 переключить шрифт на жирный
 вывести слово "абракадабра"
 переключить шрифт на стандартный
 вывести двадцать семь нулевых байтов в графике высокой плотности
 (вот мы и спозиционировали головку)
 вывести слово "брахмапутра"
 
 >>WordPerfect 5.1. Кстати о - а вдруг WP8 или WP2000 так тоже умеет?
 
 IA>Так,  кстати, вполне пристойно работал WinWord 6.0/Windows 3.1 Hа
 
 Hу, винворд не интересен. В отличие от WordPerfect 8 (а также 6 и 7)
 его под Linux не бывает.
 
 >>IA>Так что тогда уж -- действительно найти такую печаталку для html,
 >>IA>и конвертировать latex2html или подобным.
 >>
 >>Такая печаталка для HTML пишется на каком-нибудь XSL-FO за два часа.
 
 IA>И чем в ее написании так поможет XSL-FO?
 
 Тем что XSL-FO это такое средство для преобразования XML в
 некий выходной язык. Который не обязательно должен быть XML/SGML DTD.
 Hапример, известно существование генератора rtf-ов.
 Так что сгенерировать смесь слов исходного текста с командами ESC/P
 вполне себе можно.
 
 Другое дело, что для выравнивания текста по правому краю посредством
 вставления нужного количества нулевых байт графики высокой плотности
 вместо пробелов возможностей XSL-FOO может и не хватить.
 
 IA>Кроме того, может я не совсем понимаю что  такое  XSL-FO,  но  он
 IA>вроде  не  рассчитан  на форматирование обычного html. То есть от
 
 Hасколько я понимаю, XSL-FO живет не сам по себе, а на базе XML-парсера.
 А среди известных (и быстрых) XSL-парсеров есть такие, которые
 умеют парсить HTML, не обращая внимания на то, что он SGML, а не XML,
 и что он не совсем соответствует DTD.
 
 Скажем, libXMLэто вполне может.
 
 В принципе, я бы скорее всего писал такую преобразовашку на базе
 перлового интерфейса  к libXML. Описал бы DTD-шку соответствующую
 нужным мне возможностям Epson, написал бы код, который проходит
 по DOM-дереву и вставляет требуемые команды ESC/P.
 
 После чего написал бы XSLT, который преобразует удобную для
 редактирования входную DTD в эту мою DTD, и далее делал бы так:
         use XML::LibXSLT;
          use XML::LibXML;
 
          my $parser = XML::LibXML->new();
          my $filename = shift @ARGV;
          my $source;
          my $stylesheet_name;
           my $xslt = XML::LibXSLT->new();
          if ($filename=~/\.html?/)
           $source = $parser->parse_html_file($filename);
           $stylesheet_name='xhtml2escp.xsl';
          } else {
            $source = $parser->parse_file($filename);
            $stylesheet_name = find_stylesheet($source); 
          }
          my $style_doc = $parser->parse_file($stylesheet_name);
 
          my $stylesheet = $xslt->parse_stylesheet($style_doc);
 
          my $results = $stylesheet->transform($source);
 
          print serialize_to_escp($results);
 -- 
 Victor Wagner      vitus@ice.ru
 Chief Technical Officer    Office:7-(095)-748-53-88
 Communiware.Net    Home: 7-(095)-135-46-61
 http://www.communiware.net      http://www.ice.ru/~vitus
 
 Отправлено через сервер Talk.Ru - http://www.talk.ru
 --- ifmail v.2.15dev5
  * Origin: Talk.Ru (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Редактоp текстовый под Линyкс   Vlad Panchenko   30 Oct 2001 18:48:05 
 Re: Редактоp текстовый под Линyкс   vitus@ice.ru   05 Nov 2001 19:45:27 
 Редактоp текстовый под Линyкс   Dmitry Poniatov   06 Nov 2001 01:32:18 
 Re: Редактоp текстовый под Линyкс   Vlad Panchenko   06 Nov 2001 22:19:00 
 Re: Редактоp текстовый под Линyкс   Michael Shigorin   10 Nov 2001 18:02:51 
 Re^2: Редактоp текстовый под Линyкс   Vlad Panchenko   09 Nov 2001 11:25:33 
 Re: Re^2: Редактоp тексто вый под Линyкс   Oleg Bualo   14 Nov 2001 14:24:31 
 Re: Редактоp текстовый под Линyкс   Dmitry Glazov   14 Nov 2001 15:58:33 
 Re: Re^2: Редактоp текстовый под Линyкс   Ilya Anfimov   14 Nov 2001 16:06:51 
 Re: Редактоp текстовый под Линyкс   vitus@ice.ru   14 Nov 2001 17:30:45 
 Re: Редактоp текстовый под Линyкс   Ilya Anfimov   14 Nov 2001 20:12:00 
 Re: Редактоp текстовый под Линyкс   vitus@ice.ru   14 Nov 2001 20:35:57 
 Re: Редактоp текстовый под Линyкс   Ilya Anfimov   14 Nov 2001 21:09:49 
 Re: Редактоp текстовый под Линyкс   vitus@ice.ru   15 Nov 2001 12:48:54 
 Re: Re^2: Редактоp текстовый под Линyкс   Artem Chuprina   14 Nov 2001 16:47:58 
 Re: Re^2: Редактоp текстовый под Линyкс   Valery Shishkov   15 Nov 2001 00:05:09 
 Re: Редактоp текстовый под Линyкс   Igor Tihonov   14 Nov 2001 17:23:16 
 Re: Редактоp текстовый под Линyкс   Michael Shigorin   15 Nov 2001 18:46:12 
 Re: Редактоp текстовый под Линyкс   Dmitry Poniatov   11 Nov 2001 04:19:26 
 Re: Редактоp текстовый под Линyкс   vitus@ice.ru   12 Nov 2001 11:28:07 
Архивное /ru.linux/6488bf6b7947.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional