aboutsummaryrefslogtreecommitdiffstats
path: root/mayor-orig/www/include/share/str
diff options
context:
space:
mode:
Diffstat (limited to 'mayor-orig/www/include/share/str')
-rw-r--r--mayor-orig/www/include/share/str/hyphen.php104
-rw-r--r--mayor-orig/www/include/share/str/tex.php51
2 files changed, 155 insertions, 0 deletions
diff --git a/mayor-orig/www/include/share/str/hyphen.php b/mayor-orig/www/include/share/str/hyphen.php
new file mode 100644
index 00000000..0973e4d9
--- /dev/null
+++ b/mayor-orig/www/include/share/str/hyphen.php
@@ -0,0 +1,104 @@
+<?php
+
+class huHyphen
+{
+ // member declaration
+ public $Patterns = array();
+ private $patternFilePath = '../print/share/huhyphn.tex';
+
+ // method declaration
+ function __construct() {
+
+ $patterns = 0;
+ $mbConv = array(
+ mb_convert_encoding('ś', 'ISO-8859-2', 'UTF-8') => mb_convert_encoding('ű', 'ISO-8859-2', 'UTF-8'),
+ mb_convert_encoding('Ž', 'ISO-8859-2', 'UTF-8') => mb_convert_encoding('ő', 'ISO-8859-2', 'UTF-8'));
+
+ if (file_exists($this->patternFilePath)) {
+ $fp = fopen($this->patternFilePath, 'r');
+ while ($aLine = fgets($fp, 128)) {
+ // deprecated // if (!ereg('[\\%{}]', $aLine)) {
+ if (!preg_match('#[\\%{}]#', $aLine)) {
+ // Cork --> ISO-8859-2 kódolás
+ $aLine = strtr($aLine, $mbConv);
+ $letter = false;
+ $key = $value = '';
+ $aLine = chop($aLine);
+ for ($i = 0; $i < strlen($aLine); $i++) {
+ // deprecated // if (ereg('[0-9]',$aLine[$i])) {
+ if (preg_match('#[0-9]#',$aLine[$i])) {
+ $value .= $aLine[$i];
+ $letter = false;
+ } else {
+ if ($letter) $value .= '0';
+ $key .= $aLine[$i];
+ $letter = true;
+ }
+ }
+ if ($letter) $value .= '0';
+ if (!is_array($Patterns[strlen($key)])) $Patterns[strlen($key)] = array();
+ $Patterns[strlen($key)][$key] = $value;
+ $patterns++;
+ } else {
+ //if (ereg('\\message\{(.*)\}', $aLine, $reg)) echo $reg[1]."\n";
+ }
+ }
+ } else { $GLOBALS['alert'][] = 'message:file_not_found:'.($this->patternFilePath); }
+ for ($i = 0; $i < count($Patterns); $i++) {
+ if (!is_array($Patterns[$i])) $Patterns[$i] = array();
+ }
+ $this->Patterns = $Patterns;
+ }
+ function getPattern($key, $value) {
+ $pattern = '';
+ if (strlen($value) > strlen($key)) { $pattern = $value[0]; $value = substr($value, 1); }
+ for ($i = 0; $i < strlen($key); $i++) {
+ $pattern .= $key[$i];
+ if (isset($value[$i])) $pattern .= $value[$i];
+ }
+ $pattern = str_replace('0','',$pattern);
+ return $pattern;
+ }
+ public function hyphen($word) {
+ $word = mb_convert_encoding($word, 'ISO-8859-2', 'UTF-8');
+ if (strlen($word) > 1) {
+
+ $key = '.'.$word.'.';
+ $value = str_repeat('0', strlen($key));
+ $key = strtr($key, mb_convert_encoding('A-ZÁÄÉÍÓÖŐÚÜŰ', 'ISO-8859-2', 'UTF-8'), mb_convert_encoding('a-záäéíóöőúüű', 'ISO-8859-2', 'UTF-8'));
+ $pattern = '';
+ for ($i = 1; $i <= strlen($key); $i++) {
+ for ($j = 0; $j <= strlen($key)-$i; $j++) {
+ if (is_array($this->Patterns[$i]) && ($pattern = $this->Patterns[$i][ substr($key, $j, $i) ])) {
+ for ($k = 0; $k < strlen($pattern); $k++) {
+ if ($value[$j + $i - strlen($pattern) + $k] < $pattern[$k])
+ $value[$j + $i - strlen($pattern) + $k] = $pattern[$k];
+ }
+ }
+ }
+ }
+ $hyphenated = '';
+ for ($i = 0; $i <= strlen($word)-2; $i++) {
+ $hyphenated .= $word[$i];
+ // deprecated // if (ereg('[13579]', $value[$i+1])) $hyphenated .= '-';
+ if (preg_match('#[13579]#', $value[$i+1])) $hyphenated .= '-';
+ }
+ $hyphenated .= substr($word, -1);
+ } else {
+ $hyphenated = $word;
+ }
+ return mb_convert_encoding($hyphenated, 'UTF-8', 'ISO-8859-2');
+ }
+}
+
+$huHyphen = new huHyphen();
+//while gets
+// break if $_=="\n"
+// test.hyphen($_.strip)
+//end
+
+//$test->hyphen(trim('állomásfőnök'));
+//$test->hyphen(trim('álamigazgatás'));
+//$test->hyphen(trim('informatika alapismeretek, programozás'));
+
+?>
diff --git a/mayor-orig/www/include/share/str/tex.php b/mayor-orig/www/include/share/str/tex.php
new file mode 100644
index 00000000..76cf5117
--- /dev/null
+++ b/mayor-orig/www/include/share/str/tex.php
@@ -0,0 +1,51 @@
+<?php
+
+ function TeXSpecialChars($szoveg) {
+ $trans = array(
+// "\\'" => "'", ## ezt kell kiszedni 2.0-ban
+ '+' => '$+$',
+ '/' => '$/$',
+ '*' => '$*$',
+ '=' => '$=$',
+ '<' => '$<$',
+ '>' => '$>$',
+ '{' => '$\{$',
+ '}' => '$\}$',
+ '#' => '\#',
+ '%' => '\%',
+ '_' => '\_',
+ '&' => '\&',
+ '~' => ' ',
+ '…' => '...',
+ '´' => '\'',
+ '^' => '(exp)',
+// '~' => '\~\ ',
+// '$' => '\$',
+// "\\" => '$\backslash$'
+ );
+ if (__NYOMTATAS_XETEX) {
+ $trans['^'] = '\^\ ';
+ }
+ return strtr(strtr($szoveg, array('$' => '\$', "\\" => '$\backslash$')), $trans);
+ }
+
+ function LaTeXSpecialChars($szoveg) {
+ $trans = array(
+ '_' => '\_',
+ '#' => '\#',
+ '$' => '\$',
+ '%' => '\%',
+ '&' => '\&',
+ '~' => '\verb|~|',
+ '^' => '\verb|^|',
+ '{' => '\{',
+ '}' => '\}',
+ '\\' => '$\backslash$',
+// 0160 => 0032, // valami' spéci szóköz --> sima szóköz
+ );
+ return strtr($szoveg,$trans);
+ }
+
+
+
+?>