[sword-svn] r2111 - trunk/src/utilfuns
chrislit at www.crosswire.org
chrislit at www.crosswire.org
Sat Oct 13 19:16:03 MST 2007
Author: chrislit
Date: 2007-10-13 19:16:01 -0700 (Sat, 13 Oct 2007)
New Revision: 2111
Removed:
trunk/src/utilfuns/Greek2Greek.cpp
trunk/src/utilfuns/greekpatch
Modified:
trunk/src/utilfuns/Makefile.am
Log:
removed Greek2Greek stuff
Deleted: trunk/src/utilfuns/Greek2Greek.cpp
===================================================================
--- trunk/src/utilfuns/Greek2Greek.cpp 2007-10-13 22:44:25 UTC (rev 2110)
+++ trunk/src/utilfuns/Greek2Greek.cpp 2007-10-14 02:16:01 UTC (rev 2111)
@@ -1,905 +0,0 @@
-//*****************************************************************************
-// Author : William Dicks ***
-// Date Created: 10 February 1998 ***
-// Purpose : Implementation for Greek to b-Greek conversion and vice ***
-// : versa. ***
-// File Name : Greek2Greek.cpp ***
-// ***
-// Author info : ---------------------------------------------------------- ***
-// Address : 23 Tieroogpark ***
-// : Hoewe Str ***
-// : Elarduspark X3 ***
-// : 0181 ***
-// : South Africa ***
-// Home Tel: +27 (0)12 345 3166 ***
-// Cell No : +27 (0)82 577 4424 ***
-// e-mail : wd at isis.co.za ***
-// Church WWW : http://www.hatfield.co.za ***
-// ***
-// Bugfix info : ---------------------------------------------------------- ***
-// Bug #1 : Greek Font character 197 converted to b-Greek "6" ***
-// Date Fixed : 23 February 1998 ***
-//*****************************************************************************
-
-#include <stdio.h>
-#include <ctype.h>
-#include <string.h>
-
-#include "Greek2Greek.h"
-#include "GreekChars.h"
-
-//*****************************************************************************
-// Used to convert a string created by using the Greek font supplied with the
-// Sword Project to a string that conforms to the b-Greek discussion list
-// method of transliteration.
-//*****************************************************************************
-
-SWORD_NAMESPACE_START
-
-unsigned char Greek2bGreek(
- unsigned char *sResult,
- unsigned char *sGreekText,
- int nMaxResultBuflen)
-{
- char error;
-
- unsigned int NoOfChars = ParseGreek(sResult, sGreekText, nMaxResultBuflen);
-
- if (NoOfChars < strlen((char *)sGreekText))
- error = 1;
- else
- error = 0;
-
- return error;
-}
-
-//*****************************************************************************
-// Used to convert a string created by using the b-Greek method of
-// transliteration to a string that can be converted to a Greek-font readable
-// string.
-//*****************************************************************************
-
-unsigned char bGreek2Greek(
- unsigned char *sResult,
- unsigned char *sGreekText,
- int nMaxResultBuflen)
-{
- unsigned char error;
-
- unsigned int NoOfChars = ParsebGreek(sResult, sGreekText, nMaxResultBuflen);
-
- if (NoOfChars < strlen((char *)sGreekText))
- error = 1;
- else
- error = 0;
-
- return error;
-}
-
-//*****************************************************************************
-// Parse a Greek font created string and return the b-Greek equivalent
-//*****************************************************************************
-
-int ParseGreek(
- unsigned char *sResult,
- unsigned char *sGreekText,
- int nMaxResultBuflen)
-{
- int characters = 0;
- int index = 0;
- unsigned char tmp;
- bool iota; // true = IOTA subscript; false = No IOTA
- bool breathing; // true = add breathing; false = no breathing
- bool rough; // true = rough breathing; false = smooth
-
- // While text is not equal to NULL pointer
-
- while (sGreekText[index] && characters < nMaxResultBuflen)
- {
- iota = breathing = rough = false;
- tmp = Font2char(sGreekText[index++], iota, breathing, rough);
-
- if (breathing)
- {
- if (rough) // Rough breathing
- {
- sResult[characters++] = ROUGH; // Add rough breathing "h"
- sResult[characters++] = tmp; // Insert char
- }
- else
- sResult[characters++] = tmp; // Insert char
- }
- else
- {
- if (iota) // IOTA subscript
- {
- sResult[characters++] = tmp; // Insert char
- sResult[characters++] = IOTA_SUB; // Add Iota subscript
- }
- else
- sResult[characters++] = tmp; // Insert char
- }
- }
- sResult[characters] = 0; // Terminate the string
-
- return index;
-}
-
-//*****************************************************************************
-// Parse a b-Greek string and return the Greek font equivalent
-//*****************************************************************************
-int ParsebGreek(
- unsigned char *sResult,
- unsigned char *sGreekText,
- int nMaxResultBuflen)
-{
- int characters = 0;
- int index = 0;
- bool iota = false; // true = IOTA subscript; false = No IOTA
- bool breathing = false; // true = add breathing; false = no breathing
- bool rough = false; // true = rough breathing; false = smooth
- bool fSigma = false; // Final sigma flag
- bool nChar = true; // New char flag
-
- // While text is not equal to NULL pointer
-
- while (*sGreekText || characters < nMaxResultBuflen)
- {
- if (nChar)
- {
- if (*sGreekText == (unsigned char)ROUGH)
- {
- rough = true;
- breathing = true;
- }
- else
- {
- rough = false;
- breathing = true;
- }
-
- nChar = false;
- }
- else if (isPunctSpace(*(sGreekText + 1)))
- {
- fSigma = true;
- }
- else if (*(sGreekText + 1) == (unsigned char)IOTA_SUB)
- {
- iota = true;
- }
-
- if (*sGreekText != (unsigned char)IOTA_SUB)
- {
- if (*sGreekText == (unsigned char)' ')
- {
- nChar = true;
- }
-
- if (breathing)
- {
- if (rough)
- {
- // When we read a rough breather we want to increment the pointer
- // to the right character before char2Font is called.
-
- sResult[index++] =
- char2Font(*++sGreekText, fSigma, iota, breathing, rough);
-
- sGreekText++;
- characters++;
- }
- else
- {
- sResult[index++] =
- char2Font(*sGreekText++, fSigma, iota, breathing, rough);
- characters++;
- }
- }
- else
- {
- sResult[index++] =
- char2Font(*sGreekText++, fSigma, iota, breathing, rough);
- characters++;
- }
- }
- else
- {
- sGreekText++;
- characters++;
- }
-
- fSigma = iota = breathing = rough = false;
- }
-
- sResult[index] = 0; // Terminate the string
-
- return characters;
-}
-
-
-//*****************************************************************************
-// Convert a character to a GREEK font character
-//*****************************************************************************
-unsigned char char2Font(
- unsigned char letter, // bGreek letter to convert to Font letter
- bool finalSigma, // Is it a final SIGMA
- bool iota, // true = IOTA subscript; false = No IOTA
- bool breathing, // true = add breathing; false = no breathing
- bool rough) // true = rough breathing; false = smooth
-{
- unsigned char charFont = 0;
-
- switch (letter)
- {
- case ALPHA: // A
- if (breathing)
- {
- if (rough)
- {
- charFont = (unsigned char)gROUGH_ALPHA;
- }
- else
- charFont = (unsigned char)gNON_ROUGH_ALPHA;
- }
- else
- {
- if (iota)
- {
- charFont = (unsigned char)gIOTA_ALPHA;
- }
- else
- charFont = (unsigned char)gALPHA;
- }
-
- break;
-
- case BETA: // B
- charFont = (unsigned char)gBETA;
-
- break;
-
- case CHI: // C
- charFont = (unsigned char)gCHI;
-
- break;
-
- case DELTA: // D
- charFont = (unsigned char)gDELTA;
-
- break;
-
- case EPSILON: // E
- if (breathing)
- {
- if (rough)
- {
- charFont = (unsigned char)gROUGH_EPSILON;
- }
- else
- charFont = (unsigned char)gNON_ROUGH_EPSILON;
- }
- else
- {
- charFont = (unsigned char)gEPSILON;
- }
-
- break;
-
- case PHI: // F
- charFont = (unsigned char)gPHI;
-
- break;
-
- case GAMMA: // G
- charFont = (unsigned char)gGAMMA;
-
- break;
-
- case ETA: // H
- if (breathing)
- {
- if (rough)
- {
- charFont = (unsigned char)gROUGH_ETA;
- }
- else
- charFont = (unsigned char)gNON_ROUGH_ETA;
- }
- else
- {
- if (iota)
- {
- charFont = (unsigned char)gIOTA_ETA;
- }
- else
- charFont = (unsigned char)gETA;
- }
-
- break;
-
- case IOTA: // I
- if (breathing)
- {
- if (rough)
- {
- charFont = (unsigned char)gROUGH_IOTA;
- }
- else
- charFont = (unsigned char)gNON_ROUGH_IOTA;
- }
- else
- {
- charFont = (unsigned char)gIOTA;
- }
-
- break;
-
- case KAPPA: // K
- charFont = (unsigned char)gKAPPA;
-
- break;
-
- case LAMBDA: // L
- charFont = (unsigned char)gLAMBDA;
-
- break;
-
- case MU: // M
- charFont = (unsigned char)gMU;
-
- break;
-
- case NU: // N
- charFont = (unsigned char)gNU;
-
- break;
-
- case OMICRON: // O
- if (breathing)
- {
- if (rough)
- {
- charFont = (unsigned char)gROUGH_OMICRON;
- }
- else
- charFont = (unsigned char)gNON_ROUGH_OMICRON;
- }
- else
- {
- charFont = (unsigned char)gOMICRON;
- }
-
- break;
-
- case PI: // P
- charFont = (unsigned char)gPI;
-
- break;
-
- case THETA: // Q
- charFont = (unsigned char)gTHETA;
-
- break;
-
- case RHO: // R
- if (breathing)
- {
- if (rough)
- {
- charFont = (unsigned char)gROUGH_RHO;
- }
- else
- charFont = (unsigned char)gNON_ROUGH_RHO;
- }
- else
- {
- charFont = (unsigned char)gRHO;
- }
-
- break;
-
- case SIGMA: // S
- if (finalSigma)
- charFont = (unsigned char)gSIGMA_END;
- else
- charFont = (unsigned char)gSIGMA;
-
- break;
-
- case TAU: // T
- charFont = (unsigned char)gTAU;
-
- break;
-
- case UPSILON: // U
- if (breathing)
- {
- if (rough)
- {
- charFont = (unsigned char)gROUGH_UPSILON;
- }
- else
- charFont = (unsigned char)gNON_ROUGH_UPSILON;
- }
- else
- {
- charFont = (unsigned char)gUPSILON;
- }
-
- break;
-
- case OMEGA: // W
- if (breathing)
- {
- if (rough)
- {
- charFont = (unsigned char)gROUGH_OMEGA;
- }
- else
- charFont = (unsigned char)gNON_ROUGH_OMEGA;
- }
- else
- {
- if (iota)
- {
- charFont = (unsigned char)gIOTA_OMEGA;
- }
- else
- charFont = (unsigned char)gOMEGA;
- }
-
- break;
-
- case XI: // X
- charFont = (unsigned char)gXI;
-
- break;
-
- case PSI: // Y
- charFont = (unsigned char)gPSI;
-
- break;
-
- case ZETA: // Z
- charFont = (unsigned char)gZETA;
-
- break;
-
- default:
- if (ispunct(letter) || isspace(letter))
- {
- charFont = getGreekPunct(letter);
- }
-
- if (isdigit(letter))
- charFont = letter;
-
- break;
- }
-
- return charFont;
-}
-
-
-//*****************************************************************************
-// Convert a GREEK font character to a character
-//*****************************************************************************
-unsigned char Font2char(
- unsigned char letter, // bGreek letter to convert to Font letter
- bool &iota, // true = IOTA subscript; false = No IOTA
- bool &breathing, // true = add breathing; false = no breathing
- bool &rough) // true = rough breathing; false = smooth
-{
- unsigned char character = 0;
-
- if (getSpecialChar(letter, letter))
- {
- switch (letter)
- {
- case gROUGH_ALPHA: // hA
- case gIOTA_ALPHA: // Ai
- case gNON_ROUGH_ALPHA: // hA
- character = ALPHA;
-
- if (letter == gIOTA_ALPHA)
- iota = true;
- else
- iota = false;
-
- if (letter == gROUGH_ALPHA)
- {
- breathing = true;
- rough = true;
- }
- else
- {
- breathing = false;
- rough = false;
- }
-
- break;
-
- case gROUGH_EPSILON: // hE
- case gNON_ROUGH_EPSILON: // hE
- character = EPSILON;
- iota = false;
-
- if (letter == gROUGH_EPSILON)
- {
- breathing = true;
- rough = true;
- }
- else
- {
- breathing = false;
- rough = false;
- }
-
- break;
-
- case gROUGH_ETA: // hH
- case gIOTA_ETA: // Ei
- case gNON_ROUGH_ETA: // hH
- character = ETA;
-
- if (letter == gIOTA_ETA)
- iota = true;
- else
- iota = false;
-
- if (letter == gROUGH_ETA)
- {
- breathing = true;
- rough = true;
- }
- else
- {
- breathing = false;
- rough = false;
- }
-
- break;
-
- case gROUGH_IOTA: // hH
- case gNON_ROUGH_IOTA: // hH
- character = IOTA;
- iota = false;
-
- if (letter == gROUGH_IOTA)
- {
- breathing = true;
- rough = true;
- }
- else
- {
- breathing = false;
- rough = false;
- }
-
- break;
-
- case gROUGH_OMICRON: // hH
- case gNON_ROUGH_OMICRON: // hH
- character = OMICRON;
- iota = false;
-
- if (letter == gROUGH_OMICRON)
- {
- breathing = true;
- rough = true;
- }
- else
- {
- breathing = false;
- rough = false;
- }
-
- break;
-
- case gROUGH_RHO: // hR
- case gNON_ROUGH_RHO: // hR
- character = RHO;
- iota = false;
-
- if (letter == gROUGH_RHO)
- {
- breathing = true;
- rough = true;
- }
- else
- {
- breathing = false;
- rough = false;
- }
-
- break;
-
- case gROUGH_UPSILON: // hU
- case gNON_ROUGH_UPSILON: // hU
- character = UPSILON;
- iota = false;
-
- if (letter == gROUGH_UPSILON)
- {
- breathing = true;
- rough = true;
- }
- else
- {
- breathing = false;
- rough = false;
- }
-
- break;
-
- case gROUGH_OMEGA: // hW
- case gIOTA_OMEGA: // Wi
- case gNON_ROUGH_OMEGA: // hW
- character = OMEGA;
-
- if (letter == gIOTA_OMEGA)
- iota = true;
- else
- iota = false;
-
- if (letter == gROUGH_OMEGA)
- {
- breathing = true;
- rough = true;
- }
- else
- {
- breathing = false;
- rough = false;
- }
-
- break;
- }
- } // if (letter > SPECIAL_GREEK)
- else
- {
- if (letter == gSIGMA_END)
- {
- character = SIGMA;
- }
- else if (ispunct(letter) || isspace(letter))
- {
- character = getbGreekPunct(letter);
- }
- else if (isdigit(letter))
- {
- character = letter;
- }
- else
- {
- character = letter - 32;
- }
- }
-
- return character;
-}
-
-//*****************************************************************************
-// Identify and return a bGreek letter from a special font char
-//*****************************************************************************
-bool getSpecialChar(unsigned char Font, unsigned char &letter)
-{
- bool Yes = false;
- letter = Font;
-
- if (Font >= 133 && Font <= 144)
- {
- letter = gIOTA;
- Font = gIOTA;
- }
-
- if (Font >= 154 && Font <= 159)
- {
- letter = gEPSILON;
- Font = gEPSILON;
- }
-
- if (Font >= 163 && Font <= 171)
- {
- letter = gALPHA;
- Font = gALPHA;
- }
-
- if (Font >= 172 && Font <= 182)
- {
- letter = gIOTA_ALPHA;
- Font = gIOTA_ALPHA;
- Yes = true;
- }
-
- if (Font >= 187 && Font <= 195)
- {
- letter = gETA;
- Font = gETA;
- }
-
- if (Font >= 197 && Font <= 207)
- {
- letter = gIOTA_ETA;
- Font = gIOTA_ETA;
- Yes = true;
- }
-
- if ((Font >= 210 && Font <= 215) || Font == 253)
- {
- letter = gOMICRON;
- Font = gOMICRON;
- }
-
- if (Font >= 218 && Font <= 229)
- {
- letter = gUPSILON;
- Font = gUPSILON;
- }
-
- if (Font >= 232 && Font <= 240)
- {
- letter = gOMEGA;
- Font = gOMEGA;
- }
-
- if (Font >= 241 && Font <= 251)
- {
- letter = gIOTA_OMEGA;
- Font = gIOTA_OMEGA;
- Yes = true;
- }
-
- Yes = SpecialGreek(Font);
-
- return Yes;
-}
-
-
-//*****************************************************************************
-// true if the font character is a special character; false it isn't
-//*****************************************************************************
-
-bool SpecialGreek(unsigned char Font)
-{
- bool res = false;
-
- switch (Font)
- {
- case gROUGH_ALPHA:
- case gROUGH_EPSILON:
- case gROUGH_ETA:
- case gROUGH_IOTA:
- case gROUGH_OMICRON:
- case gROUGH_RHO:
- case gROUGH_UPSILON:
- case gROUGH_OMEGA:
- case gIOTA_ALPHA:
- case gIOTA_ETA:
- case gIOTA_OMEGA:
- case gNON_ROUGH_ALPHA:
- case gNON_ROUGH_EPSILON:
- case gNON_ROUGH_ETA:
- case gNON_ROUGH_IOTA:
- case gNON_ROUGH_OMICRON:
- case gNON_ROUGH_RHO:
- case gNON_ROUGH_UPSILON:
- case gNON_ROUGH_OMEGA:
- res = true;
-
- break;
- }
-
- return res;
-}
-
-
-//*****************************************************************************
-// Return Greek font puntuation from bGreek punstuation
-//*****************************************************************************
-
-unsigned char getGreekPunct(unsigned char bGreek)
-{
- unsigned char Font;
-
- switch (bGreek)
- {
- case COMMA:
- Font = gCOMMA;
- break;
-
- case STOP:
- Font = gSTOP;
- break;
-
- case SEMI_COLON:
- Font = gSEMI_COLON;
- break;
-
- case QUESTION:
- Font = gQUESTION;
- break;
-
- default:
- Font = ' ';
- break;
- }
-
- return Font;
-}
-
-
-//*****************************************************************************
-// Return bGreek puntuation from Greek font punstuation
-//*****************************************************************************
-
-unsigned char getbGreekPunct(unsigned char Greek)
-{
- unsigned char character;
-
- switch (Greek)
- {
- case gCOMMA:
- character = COMMA;
- break;
-
- case gSTOP:
- character = STOP;
- break;
-
- case gSEMI_COLON:
- character = SEMI_COLON;
- break;
-
- case gQUESTION:
- character = QUESTION;
- break;
-
- default:
- character = ' ';
- break;
- }
-
- return character;
-}
-
-
-//*****************************************************************************
-// Is the character punctuation or a space: true it is, false it isn't
-//*****************************************************************************
-
-bool isPunctSpace(unsigned char c)
-{
- return (ispunct(c) || isspace(c) || c == 0) ? true : false;
-}
-
-#ifdef __TEST
-
-int main()
-{
- unsigned char *sGreekText = (unsigned char *)
- "1£kwboj qeoà ka kur
ou hsoà cristoà doàloj taj dèdeka fulaj taj n tÍ diaspor´ ca
rein.";
- unsigned char *sResult = new unsigned char[100];
-
- char result = Greek2bGreek(
- sResult,
- sGreekText,
- 100);
-
- strset((char *)sResult, 0);
- strset((char *)sGreekText, 0);
-
- sGreekText = (unsigned char *)"18 EIS AFESIN TWN hAMARTWN hUMWN?";
- result = bGreek2Greek(
- sResult,
- sGreekText,
- 33);
-
- //delete[] sGreekText;
- delete[] sResult;
-}
-
-#endif // __TEST
-
-SWORD_NAMESPACE_END
Modified: trunk/src/utilfuns/Makefile.am
===================================================================
--- trunk/src/utilfuns/Makefile.am 2007-10-13 22:44:25 UTC (rev 2110)
+++ trunk/src/utilfuns/Makefile.am 2007-10-14 02:16:01 UTC (rev 2111)
@@ -6,7 +6,6 @@
utilfunsdir = $(top_srcdir)/src/utilfuns
libsword_la_SOURCES += $(utilfunsdir)/swobject.cpp
-libsword_la_SOURCES += $(utilfunsdir)/Greek2Greek.cpp
libsword_la_SOURCES += $(utilfunsdir)/utilstr.cpp
libsword_la_SOURCES += $(utilfunsdir)/utilxml.cpp
libsword_la_SOURCES += $(utilfunsdir)/swunicod.cpp
Deleted: trunk/src/utilfuns/greekpatch
===================================================================
--- trunk/src/utilfuns/greekpatch 2007-10-13 22:44:25 UTC (rev 2110)
+++ trunk/src/utilfuns/greekpatch 2007-10-14 02:16:01 UTC (rev 2111)
@@ -1,19 +0,0 @@
---- Greek2Greek.cpp.orig Thu Feb 26 15:19:39 1998
-+++ Greek2Greek.cpp Thu Feb 26 03:33:09 1998
-@@ -118,6 +118,7 @@
- sResult[characters++] = tmp; // Insert char
- }
- }
-+ sResult[characters] = 0; // Terminate the string
-
- return index;
- }
-@@ -209,6 +210,8 @@
-
- fSigma = iota = breathing = rough = false;
- }
-+
-+ sResult[index] = 0; // Terminate the string
-
- return characters;
- }
More information about the sword-cvs
mailing list