diff --git a/ChangeLog.txt b/ChangeLog.txt index ba87964f67..50a3f094c5 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -7,6 +7,20 @@ Entries may not always be in chronological/commit order. See license at the end of file. */ +2019-09-09 17:50 UTC+0200 Pavel Tsarenko (tpe2 at mail.ru) + * include/hblang.hbx + * src/codepage/Makefile + + src/codepage/cpee775.c + + src/codepage/cpeewin.c + + src/codepage/cplv775.c + + src/codepage/cplvwin.c + * src/lang/Makefile + + src/lang/l_ee.c + + src/lang/l_ee.h + + src/lang/l_lv.c + + src/lang/l_lv.h + + added estonian and latvian lang and codepage modules + 2019-04-11 17:33 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * src/common/hbverdsp.c * src/nortl/nortl.c diff --git a/include/hblang.hbx b/include/hblang.hbx index 24922536bc..ecba684b46 100644 --- a/include/hblang.hbx +++ b/include/hblang.hbx @@ -35,6 +35,7 @@ DYNAMIC HB_LANG_CA DYNAMIC HB_LANG_CS DYNAMIC HB_LANG_DE DYNAMIC HB_LANG_DE_AT +DYNAMIC HB_LANG_EE DYNAMIC HB_LANG_EL DYNAMIC HB_LANG_EN DYNAMIC HB_LANG_EO @@ -51,6 +52,7 @@ DYNAMIC HB_LANG_IS DYNAMIC HB_LANG_IT DYNAMIC HB_LANG_KO DYNAMIC HB_LANG_LT +DYNAMIC HB_LANG_LV DYNAMIC HB_LANG_NL DYNAMIC HB_LANG_PL DYNAMIC HB_LANG_PT diff --git a/src/codepage/Makefile b/src/codepage/Makefile index 116ff8412b..932a7016db 100644 --- a/src/codepage/Makefile +++ b/src/codepage/Makefile @@ -20,6 +20,8 @@ C_SOURCES := \ cpdeiso.c \ cpdewin.c \ cpdk865.c \ + cpee775.c \ + cpeewin.c \ cpel437.c \ cpel737.c \ cpeliso.c \ @@ -56,6 +58,8 @@ C_SOURCES := \ cpitwin.c \ cplt775.c \ cpltwin.c \ + cplv775.c \ + cplvwin.c \ cpnl850.c \ cpnl850m.c \ cpno865.c \ diff --git a/src/codepage/cpee775.c b/src/codepage/cpee775.c new file mode 100644 index 0000000000..d6bd87fc41 --- /dev/null +++ b/src/codepage/cpee775.c @@ -0,0 +1,55 @@ +/* + * National Collation Support Module (EE775) + * + * Copyright 2019 Pavel Tsarenko + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file LICENSE.txt. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA (or visit https://www.gnu.org/licenses/). + * + * As a special exception, the Harbour Project gives permission for + * additional uses of the text contained in its release of Harbour. + * + * The exception is that, if you link the Harbour libraries with other + * files to produce an executable, this does not by itself cause the + * resulting executable to be covered by the GNU General Public License. + * Your use of that executable is in no way restricted on account of + * linking the Harbour library code into it. + * + * This exception does not however invalidate any other reasons why + * the executable file might be covered by the GNU General Public License. + * + * This exception applies only to the code released by the Harbour + * Project under the name Harbour. If you copy code from other + * Harbour Project or Free Software Foundation releases into a copy of + * Harbour, as the General Public License permits, the exception does + * not apply to the code that you add in this way. To avoid misleading + * anyone as to the status of such modified files, you must delete + * this exception notice from them. + * + * If you write modifications of your own for Harbour, it is your choice + * whether to permit this exception to apply to your modifications. + * If you do not wish that, delete this exception notice. + * + */ + +#define HB_CP_ID EE775 +#define HB_CP_INFO "Estonian CP-775" +#define HB_CP_UNITB HB_UNITB_775 +#define HB_CP_ACSORT HB_CDP_ACSORT_NONE +#include "l_ee.h" +#define HB_CP_UTF8 + +/* include CP registration code */ +#include "hbcdpreg.h" diff --git a/src/codepage/cpeewin.c b/src/codepage/cpeewin.c new file mode 100644 index 0000000000..77d224e0ed --- /dev/null +++ b/src/codepage/cpeewin.c @@ -0,0 +1,55 @@ +/* + * National Collation Support Module (EEWIN) + * + * Copyright 2019 Pavel Tsarenko + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file LICENSE.txt. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA (or visit https://www.gnu.org/licenses/). + * + * As a special exception, the Harbour Project gives permission for + * additional uses of the text contained in its release of Harbour. + * + * The exception is that, if you link the Harbour libraries with other + * files to produce an executable, this does not by itself cause the + * resulting executable to be covered by the GNU General Public License. + * Your use of that executable is in no way restricted on account of + * linking the Harbour library code into it. + * + * This exception does not however invalidate any other reasons why + * the executable file might be covered by the GNU General Public License. + * + * This exception applies only to the code released by the Harbour + * Project under the name Harbour. If you copy code from other + * Harbour Project or Free Software Foundation releases into a copy of + * Harbour, as the General Public License permits, the exception does + * not apply to the code that you add in this way. To avoid misleading + * anyone as to the status of such modified files, you must delete + * this exception notice from them. + * + * If you write modifications of your own for Harbour, it is your choice + * whether to permit this exception to apply to your modifications. + * If you do not wish that, delete this exception notice. + * + */ + +#define HB_CP_ID EEWIN +#define HB_CP_INFO "Estonian Windows-1257" +#define HB_CP_UNITB HB_UNITB_1257 +#define HB_CP_ACSORT HB_CDP_ACSORT_NONE +#include "l_ee.h" +#define HB_CP_UTF8 + +/* include CP registration code */ +#include "hbcdpreg.h" diff --git a/src/codepage/cplv775.c b/src/codepage/cplv775.c new file mode 100644 index 0000000000..4437df91a5 --- /dev/null +++ b/src/codepage/cplv775.c @@ -0,0 +1,55 @@ +/* + * National Collation Support Module (LV775) + * + * Copyright 2019 Pavel Tsarenko + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file LICENSE.txt. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA (or visit https://www.gnu.org/licenses/). + * + * As a special exception, the Harbour Project gives permission for + * additional uses of the text contained in its release of Harbour. + * + * The exception is that, if you link the Harbour libraries with other + * files to produce an executable, this does not by itself cause the + * resulting executable to be covered by the GNU General Public License. + * Your use of that executable is in no way restricted on account of + * linking the Harbour library code into it. + * + * This exception does not however invalidate any other reasons why + * the executable file might be covered by the GNU General Public License. + * + * This exception applies only to the code released by the Harbour + * Project under the name Harbour. If you copy code from other + * Harbour Project or Free Software Foundation releases into a copy of + * Harbour, as the General Public License permits, the exception does + * not apply to the code that you add in this way. To avoid misleading + * anyone as to the status of such modified files, you must delete + * this exception notice from them. + * + * If you write modifications of your own for Harbour, it is your choice + * whether to permit this exception to apply to your modifications. + * If you do not wish that, delete this exception notice. + * + */ + +#define HB_CP_ID LV775 +#define HB_CP_INFO "Latvian CP-775" +#define HB_CP_UNITB HB_UNITB_775 +#define HB_CP_ACSORT HB_CDP_ACSORT_NONE +#include "l_lv.h" +#define HB_CP_UTF8 + +/* include CP registration code */ +#include "hbcdpreg.h" diff --git a/src/codepage/cplvwin.c b/src/codepage/cplvwin.c new file mode 100644 index 0000000000..acd0b5b7fd --- /dev/null +++ b/src/codepage/cplvwin.c @@ -0,0 +1,55 @@ +/* + * National Collation Support Module (LVWIN) + * + * Copyright 2019 Pavel Tsarenko + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file LICENSE.txt. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA (or visit https://www.gnu.org/licenses/). + * + * As a special exception, the Harbour Project gives permission for + * additional uses of the text contained in its release of Harbour. + * + * The exception is that, if you link the Harbour libraries with other + * files to produce an executable, this does not by itself cause the + * resulting executable to be covered by the GNU General Public License. + * Your use of that executable is in no way restricted on account of + * linking the Harbour library code into it. + * + * This exception does not however invalidate any other reasons why + * the executable file might be covered by the GNU General Public License. + * + * This exception applies only to the code released by the Harbour + * Project under the name Harbour. If you copy code from other + * Harbour Project or Free Software Foundation releases into a copy of + * Harbour, as the General Public License permits, the exception does + * not apply to the code that you add in this way. To avoid misleading + * anyone as to the status of such modified files, you must delete + * this exception notice from them. + * + * If you write modifications of your own for Harbour, it is your choice + * whether to permit this exception to apply to your modifications. + * If you do not wish that, delete this exception notice. + * + */ + +#define HB_CP_ID LVWIN +#define HB_CP_INFO "Latvian Windows-1257" +#define HB_CP_UNITB HB_UNITB_1257 +#define HB_CP_ACSORT HB_CDP_ACSORT_NONE +#include "l_lv.h" +#define HB_CP_UTF8 + +/* include CP registration code */ +#include "hbcdpreg.h" diff --git a/src/lang/Makefile b/src/lang/Makefile index a54c497628..5df25953df 100644 --- a/src/lang/Makefile +++ b/src/lang/Makefile @@ -7,6 +7,7 @@ C_SOURCES := \ l_cs.c \ l_de.c \ l_de_at.c \ + l_ee.c \ l_el.c \ l_eo.c \ l_es.c \ @@ -22,6 +23,7 @@ C_SOURCES := \ l_it.c \ l_ko.c \ l_lt.c \ + l_lv.c \ l_nl.c \ l_pl.c \ l_pt.c \ diff --git a/src/lang/l_ee.c b/src/lang/l_ee.c new file mode 100644 index 0000000000..a8e5f0b2e9 --- /dev/null +++ b/src/lang/l_ee.c @@ -0,0 +1,150 @@ +/* Last Translator: hbtest */ + +#include "hbapilng.h" + +static HB_LANG s_lang = +{ + { + /* Identification */ + + "ee", + "Estonian", + "Eesti", + "", + "UTF8", + "", + + /* Month names */ + + "Jaanuaril", + "Veebruaril", + "Märtsil", + "Aprillil", + "Mai", + "Juuni", + "Juuli", + "Augustini", + "Septembril", + "Oktoobril", + "Novembril", + "Detsembril", + + /* Day names */ + + "Pühapäeval", + "Esmaspäev", + "Teisipäev", + "Kolmapäev", + "Neljapäev", + "Reede", + "Laupäev", + + /* CA-Cl*pper compatible natmsg items */ + + "Database Files # Records Last Update Size", + "Do you want more samples?", + "Page No.", + "** Subtotal **", + "* Subsubtotal *", + "*** Total ***", + "Ins", + " ", + "Invalid date", + "Range: ", + " - ", + "Y/N", + "INVALID EXPRESSION", + + /* Error description names */ + + "Unknown error", + "Argument error", + "Bound error", + "String overflow", + "Numeric overflow", + "Zero divisor", + "Numeric error", + "Syntax error", + "Operation too complex", + "", + "", + "Memory low", + "Undefined function", + "No exported method", + "Variable does not exist", + "Alias does not exist", + "No exported variable", + "Illegal characters in alias", + "Alias already in use", + "", + "Create error", + "Open error", + "Close error", + "Read error", + "Write error", + "Print error", + "", + "", + "", + "", + "Operation not supported", + "Limit exceeded", + "Corruption detected", + "Data type error", + "Data width error", + "Workarea not in use", + "Workarea not indexed", + "Exclusive required", + "Lock required", + "Write not allowed", + "Append lock failed", + "Lock Failure", + "", + "", + "", + "Object destructor failure", + "array access", + "array assign", + "array dimension", + "not an array", + "conditional", + + /* Internal error names */ + + "Unrecoverable error %d: ", + "Error recovery failure", + "No ERRORBLOCK() for error", + "Too many recursive error handler calls", + "RDD invalid or failed to load", + "Invalid method type from %s", + "hb_xgrab can't allocate memory", + "hb_xrealloc called with a NULL pointer", + "hb_xrealloc called with an invalid pointer", + "hb_xrealloc can't reallocate memory", + "hb_xfree called with an invalid pointer", + "hb_xfree called with a NULL pointer", + "Can't locate the starting procedure: '%s'", + "No starting procedure", + "Unsupported VM opcode", + "Symbol item expected from %s", + "Invalid symbol type for self from %s", + "Codeblock expected from %s", + "Incorrect item type on the stack trying to pop from %s", + "Stack underflow", + "An item was going to be copied to itself from %s", + "Invalid symbol item passed as memvar %s", + "Memory buffer overflow", + "hb_xgrab requested to allocate zero bytes", + "hb_xrealloc requested to resize to zero bytes", + "hb_xalloc requested to allocate zero bytes", + + /* Texts */ + + "YYYY-MM-DD", + "T", + "N" + } +}; + +#define HB_LANG_ID EE +#include "hbmsgreg.h" diff --git a/src/lang/l_ee.h b/src/lang/l_ee.h new file mode 100644 index 0000000000..eb5bba7de1 --- /dev/null +++ b/src/lang/l_ee.h @@ -0,0 +1,4 @@ +/* Pavel Tsarenko */ + +#define HB_CP_UPPER "ABCDEFGĢHIJKLMNOPQRSŠZŽTUVWÕÄÖÜXY" +#define HB_CP_LOWER "abcdefgģhijklmnopqrsšzžtuvwõäöüxy" diff --git a/src/lang/l_lv.c b/src/lang/l_lv.c new file mode 100644 index 0000000000..b18ac07dc2 --- /dev/null +++ b/src/lang/l_lv.c @@ -0,0 +1,150 @@ +/* Last Translator: hbtest */ + +#include "hbapilng.h" + +static HB_LANG s_lang = +{ + { + /* Identification */ + + "lv", + "Latvian", + "Latviešu", + "", + "UTF8", + "", + + /* Month names */ + + "Janvāris", + "Februāris", + "Marts", + "Aprīlis", + "Maijs", + "Jūnijs", + "Jūlijs", + "Augusts", + "Septembris", + "Oktobris", + "Novembris", + "Decembris", + + /* Day names */ + + "Svētdiena", + "Pirmdiena", + "Otrdiena", + "Trešdiena", + "Ceturtdiena", + "Piektdiena", + "Sestdiena", + + /* CA-Cl*pper compatible natmsg items */ + + "Database Files # Records Last Update Size", + "Do you want more samples?", + "Page No.", + "** Subtotal **", + "* Subsubtotal *", + "*** Total ***", + "Ins", + " ", + "Invalid date", + "Range: ", + " - ", + "Y/N", + "INVALID EXPRESSION", + + /* Error description names */ + + "Unknown error", + "Argument error", + "Bound error", + "String overflow", + "Numeric overflow", + "Zero divisor", + "Numeric error", + "Syntax error", + "Operation too complex", + "", + "", + "Memory low", + "Undefined function", + "No exported method", + "Variable does not exist", + "Alias does not exist", + "No exported variable", + "Illegal characters in alias", + "Alias already in use", + "", + "Create error", + "Open error", + "Close error", + "Read error", + "Write error", + "Print error", + "", + "", + "", + "", + "Operation not supported", + "Limit exceeded", + "Corruption detected", + "Data type error", + "Data width error", + "Workarea not in use", + "Workarea not indexed", + "Exclusive required", + "Lock required", + "Write not allowed", + "Append lock failed", + "Lock Failure", + "", + "", + "", + "Object destructor failure", + "array access", + "array assign", + "array dimension", + "not an array", + "conditional", + + /* Internal error names */ + + "Unrecoverable error %d: ", + "Error recovery failure", + "No ERRORBLOCK() for error", + "Too many recursive error handler calls", + "RDD invalid or failed to load", + "Invalid method type from %s", + "hb_xgrab can't allocate memory", + "hb_xrealloc called with a NULL pointer", + "hb_xrealloc called with an invalid pointer", + "hb_xrealloc can't reallocate memory", + "hb_xfree called with an invalid pointer", + "hb_xfree called with a NULL pointer", + "Can't locate the starting procedure: '%s'", + "No starting procedure", + "Unsupported VM opcode", + "Symbol item expected from %s", + "Invalid symbol type for self from %s", + "Codeblock expected from %s", + "Incorrect item type on the stack trying to pop from %s", + "Stack underflow", + "An item was going to be copied to itself from %s", + "Invalid symbol item passed as memvar %s", + "Memory buffer overflow", + "hb_xgrab requested to allocate zero bytes", + "hb_xrealloc requested to resize to zero bytes", + "hb_xalloc requested to allocate zero bytes", + + /* Texts */ + + "YYYY-MM-DD", + "T", + "N" + } +}; + +#define HB_LANG_ID LV +#include "hbmsgreg.h" diff --git a/src/lang/l_lv.h b/src/lang/l_lv.h new file mode 100644 index 0000000000..a41a956441 --- /dev/null +++ b/src/lang/l_lv.h @@ -0,0 +1,4 @@ +/* Pavel Tsarenko */ + +#define HB_CP_UPPER "AĀBCČDEĒFGĢHIĪJKĶLĻMNŅOPQRSŠTUŪVWXYZŽ" +#define HB_CP_LOWER "aābcčdeēfgģhiījkķlļmnņopqrsštuūvwxyzž"