|
<?php
|
|
// Project: Web Reference Database (refbase) <http://www.refbase.net>
|
|
// Copyright: Matthias Steffens <mailto:refbase@extracts.de> and the file's
|
|
// original author(s).
|
|
//
|
|
// This code is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY. Please see the GNU General Public
|
|
// License for more details.
|
|
//
|
|
// File: ./includes/transtab_refbase_pdf.inc.php
|
|
// Repository: $HeadURL: file:///svn/p/refbase/code/branches/bleeding-edge/includes/transtab_refbase_pdf.inc.php $
|
|
// Author(s): Matthias Steffens <mailto:refbase@extracts.de>
|
|
//
|
|
// Created: 11-Jun-06, 01:13
|
|
// Modified: $Date: 2008-10-30 17:19:48 +0000 (Thu, 30 Oct 2008) $
|
|
// $Author: msteffens $
|
|
// $Revision: 1288 $
|
|
|
|
// Search & replace patterns for conversion from refbase markup to PDF markup & entities. Note that there's currently no conversion of emdashes
|
|
// or markup for greek letters and super-/subscript (since I don't know how to print chars by code number or how to print Unicode chars directly).
|
|
// Search & replace patterns must be specified as perl-style regular expression and search patterns must include the leading & trailing slashes.
|
|
|
|
$transtab_refbase_pdf = array(
|
|
|
|
"/__(?!_)(.+?)__/" => "<u>\\1</u>", // the pattern for underline (__...__) must come before the one for italic (_..._)
|
|
"/_(.+?)_/" => "<i>\\1</i>", // html-style fontshape markup is recognized and converted by the pdf-php package
|
|
"/\\*\\*(.+?)\\*\\*/" => "<b>\\1</b>",
|
|
"/\\[super:(.+?)\\]/ie" => "superScriptToLatin1('\\1')", // function 'superScriptToLatin1()' will convert superscript letters '1', '2' and '3' to appropriate latin1 entities
|
|
"/\\[sub:(.+?)\\]/i" => "\\1", // we remove markup which we cannot successfully convert to latin1 entities and replace it with an ASCII representation
|
|
"/\\[permil\\]/" => "per mille",
|
|
"/\\[infinity\\]/" => "infinity",
|
|
"/\\[alpha\\]/" => "alpha",
|
|
"/\\[beta\\]/" => "beta",
|
|
"/\\[gamma\\]/" => "gamma",
|
|
"/\\[delta\\]/" => "delta",
|
|
"/\\[epsilon\\]/" => "epsilon",
|
|
"/\\[zeta\\]/" => "zeta",
|
|
"/\\[eta\\]/" => "eta",
|
|
"/\\[theta\\]/" => "theta",
|
|
"/\\[iota\\]/" => "iota",
|
|
"/\\[kappa\\]/" => "kappa",
|
|
"/\\[lambda\\]/" => "lambda",
|
|
"/\\[mu\\]/" => "mu",
|
|
"/\\[nu\\]/" => "nu",
|
|
"/\\[xi\\]/" => "xi",
|
|
"/\\[omicron\\]/" => "omicron",
|
|
"/\\[pi\\]/" => "pi",
|
|
"/\\[rho\\]/" => "rho",
|
|
"/\\[sigmaf\\]/" => "sigmaf",
|
|
"/\\[sigma\\]/" => "sigma",
|
|
"/\\[tau\\]/" => "tau",
|
|
"/\\[upsilon\\]/" => "upsilon",
|
|
"/\\[phi\\]/" => "phi",
|
|
"/\\[chi\\]/" => "chi",
|
|
"/\\[psi\\]/" => "psi",
|
|
"/\\[omega\\]/" => "omega",
|
|
"/\\[Alpha\\]/" => "Alpha",
|
|
"/\\[Beta\\]/" => "Beta",
|
|
"/\\[Gamma\\]/" => "Gamma",
|
|
"/\\[Delta\\]/" => "Delta",
|
|
"/\\[Epsilon\\]/" => "Epsilon",
|
|
"/\\[Zeta\\]/" => "Zeta",
|
|
"/\\[Eta\\]/" => "Eta",
|
|
"/\\[Theta\\]/" => "Theta",
|
|
"/\\[Iota\\]/" => "Iota",
|
|
"/\\[Kappa\\]/" => "Kappa",
|
|
"/\\[Lambda\\]/" => "Lambda",
|
|
"/\\[Mu\\]/" => "Mu",
|
|
"/\\[Nu\\]/" => "Nu",
|
|
"/\\[Xi\\]/" => "Xi",
|
|
"/\\[Omicron\\]/" => "Omicron",
|
|
"/\\[Pi\\]/" => "Pi",
|
|
"/\\[Rho\\]/" => "Rho",
|
|
"/\\[Sigma\\]/" => "Sigma",
|
|
"/\\[Tau\\]/" => "Tau",
|
|
"/\\[Upsilon\\]/" => "Upsilon",
|
|
"/\\[Phi\\]/" => "Phi",
|
|
"/\\[Chi\\]/" => "Chi",
|
|
"/\\[Psi\\]/" => "Psi",
|
|
"/\\[Omega\\]/" => "Omega",
|
|
// "/\"(.+?)\"/" => "/quotedblleft\\1/quotedblright",
|
|
// "/ +- +/" => " – " // endash (w.r.t. the "–" character, see e.g. note in file 'transtab_refbase_rtf.inc.php')
|
|
|
|
);
|
|
|
|
|
|
$latin1SuperScriptSearchReplaceActionsArray = array(
|
|
|
|
"/1/" => '¹', // <U00B9> (superscript one)
|
|
"/2/" => '²', // <U00B2> (superscript two)
|
|
"/3/" => '³' // <U00B3> (superscript three)
|
|
// "/([^¹²³]+)/" => '[super:\\1]' // keep superscript markup in place for any text that has no matching superscript entity in Unicode
|
|
|
|
);
|
|
|
|
// --------------------------------------------------------------------
|
|
|
|
// Converts superscript text to appropriate Unicode entities:
|
|
function superScriptToLatin1($sourceString)
|
|
{
|
|
global $latin1SuperScriptSearchReplaceActionsArray;
|
|
|
|
$sourceString = searchReplaceText($latin1SuperScriptSearchReplaceActionsArray, $sourceString, true); // function 'searchReplaceText()' is defined in 'include.inc.php'
|
|
|
|
return $sourceString;
|
|
}
|
|
?>
|