// Copyright: Matthias Steffens 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_rtf.inc.php // Repository: $HeadURL: file:///svn/p/refbase/code/branches/bleeding-edge/includes/transtab_refbase_rtf.inc.php $ // Author(s): Matthias Steffens // // Created: 28-May-06, 18:21 // 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 RTF markup & entities. Converts refbase fontshape markup (italic, bold, underline) // and super- and subscript into RTF commands, greek letters get converted into the respective Unicode character codes. // Search & replace patterns must be specified as perl-style regular expression and search patterns must include the leading & trailing slashes. global $patternModifiers; // defined in 'transtab_unicode_charset.inc.php' and 'transtab_latin1_charset.inc.php' $transtab_refbase_rtf = array( "/([{}])/" => '\\\\\\1', // escaping of curly brackets has to be done as the first action so that conversion doesn't mess with the RTF code generated by other actions "/__(?!_)(.+?)__/" => "{\\ul \\1}", // underline; the pattern for underline (__...__) must come before the one for italic (_..._) "/_(.+?)_/" => "{\\i \\1}", // italic "/\\*\\*(.+?)\\*\\*/" => "{\\b \\1}", // bold "/\\[super:(.+?)\\]/i" => "{\\super \\1}", // superscript (or use '\up6') "/\\[sub:(.+?)\\]/i" => "{\\sub \\1}", // subscript (or use '\dn6') "/\\[permil\\]/" => "\\uc0\\u8240 ", "/\\[infinity\\]/" => "\\uc0\\u8734 ", "/\\[alpha\\]/" => "\\uc0\\u945 ", "/\\[beta\\]/" => "\\uc0\\u946 ", "/\\[gamma\\]/" => "\\uc0\\u947 ", "/\\[delta\\]/" => "\\uc0\\u948 ", "/\\[epsilon\\]/" => "\\uc0\\u949 ", "/\\[zeta\\]/" => "\\uc0\\u950 ", "/\\[eta\\]/" => "\\uc0\\u951 ", "/\\[theta\\]/" => "\\uc0\\u952 ", "/\\[iota\\]/" => "\\uc0\\u953 ", "/\\[kappa\\]/" => "\\uc0\\u954 ", "/\\[lambda\\]/" => "\\uc0\\u955 ", "/\\[mu\\]/" => "\\uc0\\u956 ", "/\\[nu\\]/" => "\\uc0\\u957 ", "/\\[xi\\]/" => "\\uc0\\u958 ", "/\\[omicron\\]/" => "\\uc0\\u959 ", "/\\[pi\\]/" => "\\uc0\\u960 ", "/\\[rho\\]/" => "\\uc0\\u961 ", "/\\[sigmaf\\]/" => "\\uc0\\u962 ", "/\\[sigma\\]/" => "\\uc0\\u963 ", "/\\[tau\\]/" => "\\uc0\\u964 ", "/\\[upsilon\\]/" => "\\uc0\\u965 ", "/\\[phi\\]/" => "\\uc0\\u966 ", "/\\[chi\\]/" => "\\uc0\\u967 ", "/\\[psi\\]/" => "\\uc0\\u968 ", "/\\[omega\\]/" => "\\uc0\\u969 ", "/\\[Alpha\\]/" => "\\uc0\\u913 ", "/\\[Beta\\]/" => "\\uc0\\u914 ", "/\\[Gamma\\]/" => "\\uc0\\u915 ", "/\\[Delta\\]/" => "\\uc0\\u916 ", "/\\[Epsilon\\]/" => "\\uc0\\u917 ", "/\\[Zeta\\]/" => "\\uc0\\u918 ", "/\\[Eta\\]/" => "\\uc0\\u919 ", "/\\[Theta\\]/" => "\\uc0\\u920 ", "/\\[Iota\\]/" => "\\uc0\\u921 ", "/\\[Kappa\\]/" => "\\uc0\\u922 ", "/\\[Lambda\\]/" => "\\uc0\\u923 ", "/\\[Mu\\]/" => "\\uc0\\u924 ", "/\\[Nu\\]/" => "\\uc0\\u925 ", "/\\[Xi\\]/" => "\\uc0\\u926 ", "/\\[Omicron\\]/" => "\\uc0\\u927 ", "/\\[Pi\\]/" => "\\uc0\\u928 ", "/\\[Rho\\]/" => "\\uc0\\u929 ", "/\\[Sigma\\]/" => "\\uc0\\u931 ", "/\\[Tau\\]/" => "\\uc0\\u932 ", "/\\[Upsilon\\]/" => "\\uc0\\u933 ", "/\\[Phi\\]/" => "\\uc0\\u934 ", "/\\[Chi\\]/" => "\\uc0\\u935 ", "/\\[Psi\\]/" => "\\uc0\\u936 ", "/\\[Omega\\]/" => "\\uc0\\u937 ", "/\"(.+?)\"/" => "\\ldblquote \\1\\rdblquote ", // see also notes in 'cite_rtf.php' at '$markupPatternsArray' "/ +- +/" => " \\endash ", // "/–/$patternModifiers" => "\\endash " // Note that for UTF-8 based systems, '$patternModifiers' contains the "u" (PCRE_UTF8) pattern modifier which should cause PHP/PCRE // to treat pattern strings as UTF-8 (otherwise this conversion pattern would garble UTF-8 characters such as "Ö"). However, the // "–" character still seems to cause PREG compilation errors on some UTF8-based systems, which is why the line has been commented // out (it should work fine for a latin1-based system, though). ); ?>