Добавление перевода ps

Часть #168
This commit is contained in:
Sergey Panteleev
2021-11-08 08:14:13 +03:00
parent 890cb5129f
commit 0b6699167f
5 changed files with 617 additions and 0 deletions

View File

@ -0,0 +1,128 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: sergey Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.ps-begin-page" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>ps_begin_page</refname>
<refpurpose>Начинает новую страницу</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>ps_begin_page</methodname>
<methodparam><type>resource</type><parameter>psdoc</parameter></methodparam>
<methodparam><type>float</type><parameter>width</parameter></methodparam>
<methodparam><type>float</type><parameter>height</parameter></methodparam>
</methodsynopsis>
<para>
Начинает новую страницу. Хотя параметры <parameter>width</parameter>
и <parameter>height</parameter> подразумевают различный размер страницы для каждой страницы,
это невозможно в PostScript. Первый вызов <function>ps_begin_page</function> устанавливает размер страницы
для всего документа. Последующие вызовы не будут иметь никакого эффекта, кроме создания новой страницы.
Ситуация иная, если вы собираетесь преобразовать документ PostScript в PDF. Функция помещает в документ метки PDF,
которые могут индивидуально устанавливать размер каждой страницы.
Полученный PDF-документ будет иметь разные размеры страниц.
</para>
<para>
Хотя PostScript не знает разных размеров страниц, pslib помещает в документ ограничительную рамку для каждой страницы.
Этот размер оценивается некоторыми программами просмотра PostScript и имеет приоритет над BoundingBox в заголовке документа.
Это может привести к неожиданным результатам, если вы установите BoundingBox, нижний левый угол которого не равен (0, 0),
потому что у ограничивающей рамки страницы всегда будет нижний левый угол (0, 0) и перезапишет глобальную настройку.
</para>
<para>
Каждая страница инкапсулируется в режим сохранения/восстановления. Это означает, что большинство настроек,
сделанных на одной странице, не будут сохранены на следующей странице.
</para>
<para>
Если до первого вызова <function>ps_begin_page</function> не было вызова <function>ps_findfont</function>,
то будет выведен заголовок документа PostScript, а размер ограничивающей рамки будет установлен на первая страница.
Нижний левый угол ограничивающей рамки установлен в (0, 0).
Если <function>ps_findfont</function> была вызвана раньше, значит, заголовок уже был выведен
и документ не будет иметь корректной ограничительной рамки.
Чтобы предотвратить это, следует вызвать <function>ps_set_info</function>, чтобы установить
информационное поле <literal>BoundingBox</literal> и, возможно, <literal>Orientation</literal>
перед любым вызовом <function>ps_findfont</function> или
<function>ps_begin_page</function>.
</para>
<note>
<para>
До версии 0.2.6 pslib функция всегда будет перезаписывать BoundingBox и Orientation,
если они была установлены ранее с помощью <function>ps_set_info</function>
и <function>ps_findfont</function> ранее не вызывалась.
</para>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>psdoc</parameter></term>
<listitem>
<para>
Идентификатор ресурса файла postscript,
возвращённый функцией <function>ps_new</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>width</parameter></term>
<listitem>
<para>
Ширина страницы в пикселях, например, 596 для формата А4.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>height</parameter></term>
<listitem>
<para>
Высота страницы в пикселях, например, 842 для формата А4.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>ps_end_page</function></member>
<member><function>ps_findfont</function></member>
<member><function>ps_set_info</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@ -0,0 +1,171 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: b95d28e6ec86e4a71e012737d36ebdc1cf009180 Maintainer: sergey Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.ps-begin-pattern" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>ps_begin_pattern</refname>
<refpurpose>Начинает новый узор</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>int</type><type>false</type></type><methodname>ps_begin_pattern</methodname>
<methodparam><type>resource</type><parameter>psdoc</parameter></methodparam>
<methodparam><type>float</type><parameter>width</parameter></methodparam>
<methodparam><type>float</type><parameter>height</parameter></methodparam>
<methodparam><type>float</type><parameter>xstep</parameter></methodparam>
<methodparam><type>float</type><parameter>ystep</parameter></methodparam>
<methodparam><type>int</type><parameter>painttype</parameter></methodparam>
</methodsynopsis>
<para>
Начинает новый узор. Узор похож на страницу, содержащую, например, рисунок,
который можно использовать для заливки областей. Он используется как цвет,
вызывая <function>ps_setcolor</function> и устанавливая
цветовое пространство в <literal>pattern</literal>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>psdoc</parameter></term>
<listitem>
<para>
Идентификатор ресурса файла postscript,
возвращённый функцией <function>ps_new</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>width</parameter></term>
<listitem>
<para>
Ширина узора в пикселях.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>height</parameter></term>
<listitem>
<para>
Высота узора в пикселях.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>x-step</parameter></term>
<listitem>
<para>
Расстояние в пикселях размещений узора по горизонтали.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>y-step</parameter></term>
<listitem>
<para>
Расстояние в пикселях размещений узора по вертикали.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>painttype</parameter></term>
<listitem>
<para>
Может быть 1 или 2.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Идентификатор узора&return.falseforfailure;.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Создание и использование узора</title>
<programlisting role="php">
<![CDATA[
<?php
$ps = ps_new();
if (!ps_open_file($ps, "pattern.ps")) {
print "Не удаётся открыть файл PostScript\n";
exit;
}
ps_set_parameter($ps, "warning", "true");
ps_set_info($ps, "Creator", "pattern.php");
ps_set_info($ps, "Author", "Уве Штайнманн");
ps_set_info($ps, "Title", "Пример узора");
$pspattern = ps_begin_pattern($ps, 10.0, 10.0, 10.0, 10.0, 1);
ps_setlinewidth($ps, 0.2);
ps_setcolor($ps, "stroke", "rgb", 0.0, 0.0, 1.0, 0.0);
ps_moveto($ps, 0, 0);
ps_lineto($ps, 7, 7);
ps_stroke($ps);
ps_moveto($ps, 0, 7);
ps_lineto($ps, 7, 0);
ps_stroke($ps);
ps_end_pattern($ps);
ps_begin_page($ps, 596, 842);
ps_setcolor($ps, "both", "pattern", $pspattern, 0.0, 0.0, 0.0);
ps_rect($ps, 50, 400, 200, 200);
ps_fill($ps);
ps_end_page($ps);
ps_close($ps);
ps_delete($ps);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>ps_end_pattern</function></member>
<member><function>ps_setcolor</function></member>
<member><function>ps_shading_pattern</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@ -0,0 +1,140 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: sergey Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.ps-begin-template" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>ps_begin_template</refname>
<refpurpose>Начинает новый шаблон</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>int</type><methodname>ps_begin_template</methodname>
<methodparam><type>resource</type><parameter>psdoc</parameter></methodparam>
<methodparam><type>float</type><parameter>width</parameter></methodparam>
<methodparam><type>float</type><parameter>height</parameter></methodparam>
</methodsynopsis>
<para>
Начинает новый шаблон. На языке postscript шаблон называется формой.
Он создаётся аналогично узору, но используется как изображение.
Шаблоны часто используются для рисунков, которые размещаются в документе несколько раз,
например как логотип компании. В шаблоне можно использовать все функции рисования.
Шаблон не будет нарисован, пока он не будет размещён с помощью <function>ps_place_image</function>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>psdoc</parameter></term>
<listitem>
<para>
Идентификатор ресурса файла postscript,
возвращённый функцией <function>ps_new</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>width</parameter></term>
<listitem>
<para>
Ширина шаблона в пикселях.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>height</parameter></term>
<listitem>
<para>
Высота шаблона в пикселях.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Создание и использование шаблона</title>
<programlisting role="php">
<![CDATA[
<?php
$ps = ps_new();
if (!ps_open_file($ps, "template.ps")) {
print "Не удаётся открыть файл PostScript\n";
exit;
}
ps_set_parameter($ps, "warning", "true");
ps_set_info($ps, "Creator", "template.php");
ps_set_info($ps, "Author", "Уве Штайнманн");
ps_set_info($ps, "Title", "Пример шаблона");
$pstemplate = ps_begin_template($ps, 30.0, 30.0);
ps_moveto($ps, 0, 0);
ps_lineto($ps, 30, 30);
ps_moveto($ps, 0, 30);
ps_lineto($ps, 30, 0);
ps_stroke($ps);
ps_end_template($ps);
ps_begin_page($ps, 596, 842);
ps_place_image($ps, $pstemplate, 20.0, 20.0, 1.0);
ps_place_image($ps, $pstemplate, 50.0, 30.0, 0.5);
ps_place_image($ps, $pstemplate, 70.0, 70.0, 0.6);
ps_place_image($ps, $pstemplate, 30.0, 50.0, 1.3);
ps_end_page($ps);
ps_close($ps);
ps_delete($ps);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>ps_end_template</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@ -0,0 +1,107 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: sergey Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.ps-circle" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>ps_circle</refname>
<refpurpose>Рисует круг</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>ps_circle</methodname>
<methodparam><type>resource</type><parameter>psdoc</parameter></methodparam>
<methodparam><type>float</type><parameter>x</parameter></methodparam>
<methodparam><type>float</type><parameter>y</parameter></methodparam>
<methodparam><type>float</type><parameter>radius</parameter></methodparam>
</methodsynopsis>
<para>
Рисует круг со средней точкой в точке (<parameter>x</parameter>,
<parameter>y</parameter>). Круг начинается и заканчивается в позиции (<parameter>x</parameter>+<parameter>radius</parameter>,
<parameter>y</parameter>).
Если функция вызывается вне пути, она начнёт новый путь. Если функция вызывается внутри пути, она добавит круг как дочерний путь.
Если последняя операция рисования не заканчивается точкой (<parameter>x</parameter>+<parameter>radius</parameter>,
<parameter>y</parameter>), тогда на пути будет разрыв.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>psdoc</parameter></term>
<listitem>
<para>
Идентификатор ресурса файла postscript,
возвращённый функцией <function>ps_new</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>x</parameter></term>
<listitem>
<para>
Координата X центра круга.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>y</parameter></term>
<listitem>
<para>
Координата Y центра круга.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>radius</parameter></term>
<listitem>
<para>
Радиус круга.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>ps_arc</function></member>
<member><function>ps_arcn</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@ -0,0 +1,71 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: sergey Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.ps-get-buffer" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>ps_get_buffer</refname>
<refpurpose>Получает полный буфер, содержащий сгенерированные данные PS</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>string</type><methodname>ps_get_buffer</methodname>
<methodparam><type>resource</type><parameter>psdoc</parameter></methodparam>
</methodsynopsis>
<para>
Функция пока не реализована. Она всегда будет возвращать пустую строку.
Идея для более поздней реализации состоит в том, чтобы записать содержимое файла postscript
во внутренний буфер, если требуется создание в памяти, и получить содержимое буфера с помощью этой функции.
В настоящее время документы, созданные в памяти, отправляются в браузер без буферизации.
</para>
&warn.undocumented.func;
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>psdoc</parameter></term>
<listitem>
<para>
Идентификатор ресурса файла postscript,
возвращённый функцией <function>ps_new</function>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>ps_open_file</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->