exif : fix XML by converting para to simpara tags via script

This commit is contained in:
Gina Peter Banyard
2026-01-18 22:12:26 +00:00
parent fa233e3483
commit 8ed37393d7
9 changed files with 94 additions and 100 deletions

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 762fd781b63e37a13eb616602f715898dd237955 Maintainer: leonardolara Status: ready --><!-- CREDITS: felipe,leonardolara -->
<book xml:id="book.exif" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- EN-Revision: 6a08181be1706dfebdb3ad6e45620bceb08019ba Maintainer: leonardolara Status: ready -->
<!-- CREDITS: felipe,leonardolara -->
<book xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="book.exif">
<?phpdoc extension-membership="bundled" ?>
<title>Informações de imagem</title>
<titleabbrev>Exif</titleabbrev>
@@ -9,13 +9,13 @@
<!-- {{{ preface -->
<preface xml:id="intro.exif">
&reftitle.intro;
<para>
<simpara>
Com a extensão exif pode-se trabalhar com metadados de imagem. Por
exemplo, pode-se usar funções exif para ler metadados de fotografias obtidas
de câmeras digitais com informações armazenadas no cabeçalho do aqruivo.
Estas informações são usualmente encontradas em imagens <acronym>JPEG</acronym> e
<acronym>TIFF</acronym>.
</para>
</simpara>
</preface>
<!-- }}} -->
@@ -24,7 +24,6 @@
&reference.exif.reference;
</book>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
@@ -45,4 +44,3 @@ vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,21 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: felipe Status: ready -->
<section xml:id="exif.installation" xmlns="http://docbook.org/ns/docbook">
<!-- EN-Revision: 6a08181be1706dfebdb3ad6e45620bceb08019ba Maintainer: felipe Status: ready -->
<section xmlns="http://docbook.org/ns/docbook" xml:id="exif.installation">
&reftitle.install;
<para>
<simpara>
Para habilitar suporte a exif configure o PHP com
<option role="configure">--enable-exif</option>
</para>
<para>
</simpara>
<simpara>
Usuários Windows precisam habilitar as DLLs <filename>php_mbstring.dll</filename>
e <filename>php_exif.dll</filename> no &php.ini;. A DLL
<filename>php_mbstring.dll</filename> precisa ser carregada
<emphasis>antes</emphasis> da <filename>php_exif.dll</filename> então
ajuste seu &php.ini; corretamente.
</para>
</simpara>
</section>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: b090c4476884e5dbce1f3cc2adf28c65b04d9de9 Maintainer: leonardolara Status: ready -->
<!-- EN-Revision: 6a08181be1706dfebdb3ad6e45620bceb08019ba Maintainer: leonardolara Status: ready -->
<!-- CREDITS: felipe,leonardolara -->
<appendix xmlns="http://docbook.org/ns/docbook" xml:id="exif.constants">
&reftitle.constants;
@@ -19,10 +19,10 @@
</listitem>
</varlistentry>
</variablelist>
<para>
<simpara>
A função <function>exif_imagetype</function> lista várias constantes internas
relacionadas.
</para>
</simpara>
</appendix>
<!-- Keep this comment at the end of the file
Local variables:

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: b090c4476884e5dbce1f3cc2adf28c65b04d9de9 Maintainer: leonardolara Status: ready -->
<!-- EN-Revision: 6a08181be1706dfebdb3ad6e45620bceb08019ba Maintainer: leonardolara Status: ready -->
<!-- CREDITS: felipe,leonardolara -->
<!-- splitted from ./en/functions/image.xml, last change in rev 1.81 -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.exif-imagetype">
@@ -13,16 +13,16 @@
<type class="union"><type>int</type><type>false</type></type><methodname>exif_imagetype</methodname>
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
</methodsynopsis>
<para>
<simpara>
<function>exif_imagetype</function> lê os primeiros bytes de uma imagem e
verifica sua assinatura.
</para>
<para>
</simpara>
<simpara>
<function>exif_imagetype</function> pode ser usada para evitar chamadas a outras funções
<link linkend="ref.exif">exif</link> que não têm suporte a certos tipos de arquivos
ou um conjunção com <varname>$_SERVER['HTTP_ACCEPT']</varname> para verificar
se o visualizador é capaz de mostrar uma imagem específica no navegador.
</para>
</simpara>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
@@ -39,12 +39,12 @@
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
<simpara>
Quando uma assinatura correta é encontrada, o valor da constante associada será
retornado, caso contrário o valor de retorno será &false;. O valor retornado é o
mesmo valor que <function>getimagesize</function> retorna no índice 2, mas
<function>exif_imagetype</function> é bem mais rápida.
</para>
</simpara>
<para>
As seguintes constantes estão definidas, e representam os possíveis
valores de retorno de <function>exif_imagetype</function>:
@@ -142,13 +142,13 @@
</para>
<note>
<para>
<simpara>
<function>exif_imagetype</function> emitirá um erro de nível <constant>E_NOTICE</constant>
e retornará &false; se for incapaz de ler bytes suficientes do arquivo para
determinar o tipo da imagem.
<!-- If the function finds an incomplete PNG header then it may emit an
<constant>E_WARNING</constant> instead. - Is this worth including? -->
</para>
</simpara>
</note>
</refsect1>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: b090c4476884e5dbce1f3cc2adf28c65b04d9de9 Maintainer: leonardolara Status: ready -->
<!-- EN-Revision: 6a08181be1706dfebdb3ad6e45620bceb08019ba Maintainer: leonardolara Status: ready -->
<!-- CREDITS: fernandoc,leonardolara -->
<!-- splitted from ./en/functions/image.xml, last change in rev 1.78 -->
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="function.exif-read-data">
@@ -16,24 +16,24 @@
<methodparam choice="opt"><type>bool</type><parameter>as_arrays</parameter><initializer>&false;</initializer></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>read_thumbnail</parameter><initializer>&false;</initializer></methodparam>
</methodsynopsis>
<para>
<simpara>
A função <function>exif_read_data</function> lê os cabeçalhos
<acronym>EXIF</acronym> de um arquivo de imagem. Desta forma é possível ler metadados
gerados por câmeras digitais.
</para>
<para>
</simpara>
<simpara>
Cabeçalhos <acronym>EXIF</acronym> tendem a estar presentes em imagens JPEG/TIFF geradas por camêras
digitais, mas infelizmente, cada fabricante de camêra digital tem
uma ideia diferente de como rotular suas imagens, então não se
pode confiar sempre que um cabeçalho EXIF específico estará presente.
</para>
<para>
</simpara>
<simpara>
Altura (<literal>Height</literal>) e largura (<literal>Width</literal>) sao computadas
da mesma maneira que <function>getimagesize</function> faz, então seus valores não devem
ser parte de nenhum cabeçalho retornado. Além disso, <literal>html</literal> é
uma string de texto com altura/largura a ser usado dentro de um<acronym>HTML</acronym> normal.
</para>
<para>
</simpara>
<simpara>
Quando um cabeçalho Exif contém uma nota de direitos autorais, esta nota pode conter dois
valores. Como a solução é inconsistente com o padrão Exif 2.10 a seção
<literal>COMPUTED</literal> irá retornar ambas as entradas
@@ -44,8 +44,8 @@
do Exif). <literal>COMPUTED</literal> irá conter também a entrada
<literal>Copyright</literal> que será a string original do copyright
ou uma lista separada por vírgula dos direitos autorais da foto e do editor.
</para>
<para>
</simpara>
<simpara>
A etiqueta <literal>UserComment</literal> tem o mesmo problema que a etiqueta de
Copyright. Ela pode guardar dois valores. Primeiro a codificação usada e em segundo o valor
em si. Então a seção <literal>IFD</literal> contém somente a codificação
@@ -54,11 +54,11 @@
<literal>UserComment</literal>. A entrada <literal>UserComment</literal>
está disponível em ambos os casos então deve ser usada em preferência ao
valor da seção <literal>IFD0</literal>.
</para>
<para>
</simpara>
<simpara>
<function>exif_read_data</function> também valida etiquetas de dados EXIF de acordo
com a especificação EXIF (<link xlink:href="&url.exifspec;">&url.exifspec;</link>, página 20).
</para>
</simpara>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
@@ -66,11 +66,11 @@
<varlistentry>
<term><parameter>file</parameter></term>
<listitem>
<para>
<simpara>
A localização do arquivo de imagem. Pode ser uma caminho para o arquivo
(empacotadores de fluxo são também suportados)
ou um fluxo do tipo <type>resource</type>.
</para>
</simpara>
</listitem>
</varlistentry>
<varlistentry>
@@ -137,43 +137,43 @@
<varlistentry>
<term><parameter>as_arrays</parameter></term>
<listitem>
<para>
<simpara>
Especifica se cada seção se torna ou não um array. As seções
<literal>COMPUTED</literal>, <literal>THUMBNAIL</literal> E
<literal>COMMENT</literal> de <parameter>required_sections</parameter>
sempre se toranm arrays por que contêm valores cujos nomes conflitam
com outras seções.
</para>
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>read_thumbnail</parameter></term>
<listitem>
<para>
<simpara>
Quando definida para &true; a miniatura em si é lida. Caso contrário, apenas
os dados etiquetados são lidos.
</para>
</simpara>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
<simpara>
Retorna um <type>array</type> associativo onde os índices são
os nomes dos cabeçalhos e os valores são os associados com
esses cabeçalhos. Se nenhum dado puder ser retornado,
<function>exif_read_data</function> retornará &false;.
</para>
</simpara>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<para>
<simpara>
Erros de nível <constant>E_WARNING</constant> e/ou <constant>E_NOTICE</constant>
podem ser disparados para etiquetas não suportadas ou outras condições de erros potenciais, mas a
função ainda tenta lêr toda a informação compreensível.
</para>
</simpara>
</refsect1>
<refsect1 role="changelog">
@@ -246,9 +246,9 @@ foreach ($exif as $key => $section) {
?>
]]>
</programlisting>
<para>
<simpara>
A primeira chamada falha porque a imagem não tem informações no cabeçalho.
</para>
</simpara>
&example.outputs.similar;
<screen role="php">
<![CDATA[
@@ -334,7 +334,7 @@ Cabeçalhos EXIF:
<refsect1 role="notes">
&reftitle.notes;
<note>
<para>
<simpara>
Se <link linkend="ref.mbstring">mbstring</link> estiver habilitado, exif tentará processar
em codificação unicode e escolher um conjunto de caracteres como especificado por
<link linkend="ini.exif.decode-unicode-motorola">exif.decode_unicode_motorola</link> e
@@ -342,13 +342,13 @@ Cabeçalhos EXIF:
exif não tentará descobrir a codificação por si mesma, é responsabilidade do programador
especificar corretamente a codificação a ser usada, configurando uma das duas
diretivas ini antes de chamar <function>exif_read_data</function>.
</para>
</simpara>
</note>
<note>
<para>
<simpara>
Se <parameter>file</parameter> for usado para passar um fluxo a esta função, o fluxo
deve ser do tipo pesquisável. Note que a posição do ponteiro do arquivo não é alterada depois que esta função retorna.
</para>
</simpara>
</note>
</refsect1>
<refsect1 role="seealso">

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: b090c4476884e5dbce1f3cc2adf28c65b04d9de9 Maintainer: leonardolara Status: ready -->
<!-- EN-Revision: 6a08181be1706dfebdb3ad6e45620bceb08019ba Maintainer: leonardolara Status: ready -->
<!-- CREDITS: felipe,leonardolara -->
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="function.exif-tagname">
<refnamediv>
@@ -19,19 +19,19 @@
<varlistentry>
<term><parameter>index</parameter></term>
<listitem>
<para>
<simpara>
O ID da etiqueta para o qual o nome do cabeçalho será pesquisado
</para>
</simpara>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
<simpara>
Retorna o nome do cabeçalho, ou &false; se <parameter>index</parameter> não
for um id de etiqueta EXIF definido.
</para>
</simpara>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: b090c4476884e5dbce1f3cc2adf28c65b04d9de9 Maintainer: leonardolara Status: ready -->
<!-- EN-Revision: 6a08181be1706dfebdb3ad6e45620bceb08019ba Maintainer: leonardolara Status: ready -->
<!-- CREDITS: leonardolara,felipe -->
<!-- splitted from ./en/functions/image.xml, last change in rev 1.78 -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.exif-thumbnail">
@@ -16,19 +16,19 @@
<methodparam choice="opt"><type>int</type><parameter role="reference">height</parameter><initializer>&null;</initializer></methodparam>
<methodparam choice="opt"><type>int</type><parameter role="reference">image_type</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
<simpara>
<function>exif_thumbnail</function> lê a miniatura embutida de uma imagem.
</para>
<para>
</simpara>
<simpara>
Se for desejado exibir miniaturas através desta função, deve-se enviar
a informação do tipo de mídia usando a função <function>header</function>.
</para>
<para>
</simpara>
<simpara>
É possível que <function>exif_thumbnail</function> não possa criar uma
imagem mas possa determinar seu tamanho. Neste caso, o valor retornado é
&false; mas a largura (<parameter>width</parameter>) e altura (<parameter>height</parameter>)
serão definidos.
</para>
</simpara>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
@@ -36,45 +36,45 @@
<varlistentry>
<term><parameter>file</parameter></term>
<listitem>
<para>
<simpara>
A localização do arquivo de imagem. Pode ser um caminho ou um
fluxo do tipo <type>resource</type>.
</para>
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>width</parameter></term>
<listitem>
<para>
<simpara>
A largura da miniatura retornada.
</para>
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>height</parameter></term>
<listitem>
<para>
<simpara>
A altura da miniatura retornada.
</para>
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>image_type</parameter></term>
<listitem>
<para>
<simpara>
O tipo da imagem da miniatura retornada. Pode ser
<acronym>TIFF</acronym> ou <acronym>JPEG</acronym>.
</para>
</simpara>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
<simpara>
Retorna a miniatura embutida, ou &false; se a imagem não contiver
miniatura.
</para>
</simpara>
</refsect1>
<refsect1 role="changelog">
@@ -126,10 +126,10 @@ if ($image!==false) {
<refsect1 role="notes">
&reftitle.notes;
<note>
<para>
<simpara>
Se o parâmetro <parameter>file</parameter> for usado para passar um fluxo a esta função,
ele deve ser do tipo pesquisável. Note que a posição do ponteiro do arquivo não é alterada após o retorno desta função.
</para>
</simpara>
</note>
</refsect1>
<refsect1 role="seealso">

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: b090c4476884e5dbce1f3cc2adf28c65b04d9de9 Maintainer: leonardolara Status: ready -->
<!-- EN-Revision: 6a08181be1706dfebdb3ad6e45620bceb08019ba Maintainer: leonardolara Status: ready -->
<section xmlns="http://docbook.org/ns/docbook" xml:id="exif.configuration">
&reftitle.runtime;
&extension.runtime;
@@ -74,7 +74,7 @@
<type>string</type>
</term>
<listitem>
<para>
<simpara>
<literal>exif.encode_unicode</literal> define o conjunto
de caracteres UNICODE para lidar com os comentários de usuário.
O padrão é ISO-8859-15 que deve funcionar para a maioria dos
@@ -82,7 +82,7 @@
ou deve ser uma codificação suportada por mbstring. Se for
vazia,a codificação interna atual de mbstring é
usada.
</para>
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.exif.decode-unicode-motorola">
@@ -91,13 +91,13 @@
<type>string</type>
</term>
<listitem>
<para>
<simpara>
<literal>exif.decode_unicode_motorola</literal> define
o conjunto de caracteres internos da imagem para os comentários
de usuário codificados em Unicode se a imagem está na ordem de bytes Motorola (Big Endian).
Esta configuração não pode ser vazia mas pode-se especificar uma lista
de codificações suportadas por. O padrão é UCS-2BE.
</para>
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.exif.decode-unicode-intel">
@@ -106,13 +106,13 @@
<type>string</type>
</term>
<listitem>
<para>
<simpara>
<literal>exif.decode_unicode_intel</literal> define
o conjunto de caracteres internos da imagem para os comentários
de usuário se a imagem está na ordem de bytes Intel (Little Endian).
Esta configuração não pode ser vazia mas pode-se especificar uma lista
de codificações suportadas por. O padrão é UCS-2LE.
</para>
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.exif.encode-jis">
@@ -121,13 +121,13 @@
<type>string</type>
</term>
<listitem>
<para>
<simpara>
<literal>exif.encode_jis</literal> define o conjunto
de caracteres JIS com o qual os comentários são lidos.
O padrão é um valor vazio que força
as funções a usarem a codificação interna atual
de mbstring.
</para>
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.exif.decode-jis-motorola">
@@ -136,13 +136,13 @@
<type>string</type>
</term>
<listitem>
<para>
<simpara>
<literal>exif.decode_jis_motorola</literal> define o conjunto
de caracteres internos da imagem para comentários codificados com
JIS se a imagem está na ordem de bytes Motorola (Big Endian).
Esta configuração não pode ser vazia mas pode-se especificar uma lista
de codificações suportadas por. O padrão é JIS.
</para>
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.exif.decode-jis-intel">
@@ -151,13 +151,13 @@
<type>string</type>
</term>
<listitem>
<para>
<simpara>
<literal>exif.decode_jis_intel</literal> define o conjunto
de caracteres internos da imagem para comentários codificados com
JIS se a imagem está na ordem de bytes Intel (Little Endian).
Esta configuração não pode ser vazia mas pode-se especificar uma lista
de codificações suportadas por. O padrão é JIS.
</para>
</simpara>
</listitem>
</varlistentry>
</variablelist>

View File

@@ -1,18 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: c0af8c90a6b83faaadaebdfd22970bcb8b9c4057 Maintainer: leonardolara Status: ready --><!-- CREDITS: felipe,leonardolara -->
<chapter xml:id="exif.setup" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- EN-Revision: 6a08181be1706dfebdb3ad6e45620bceb08019ba Maintainer: leonardolara Status: ready -->
<!-- CREDITS: felipe,leonardolara -->
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="exif.setup">
&reftitle.setup;
<!-- {{{ Requirements -->
<section xml:id="exif.requirements">
&reftitle.required;
<para>
<simpara>
O PHP precisa ser compilado com <literal>--enable-exif</literal>. Para habilitar
suporte a caracteres multi-byte em etiquetas EXIF, a extensão <link linkend="ref.mbstring">mbstring</link>
precisa estar habilitada, compilando o PHP com <literal>--enable-mbstring</literal>.
O PHP não requer bilbioteca adicional para o módulo exif.
</para>
</simpara>
</section>
<!-- }}} -->
@@ -25,7 +25,6 @@
<!-- }}} -->
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
@@ -46,4 +45,3 @@ vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->