diff --git a/mozilla/intl/uconv/ucvlatin/nsISO885910ToUnicode.cpp b/mozilla/intl/uconv/ucvlatin/nsISO885910ToUnicode.cpp index 68df01bea64..8b7ea7b8e72 100644 --- a/mozilla/intl/uconv/ucvlatin/nsISO885910ToUnicode.cpp +++ b/mozilla/intl/uconv/ucvlatin/nsISO885910ToUnicode.cpp @@ -1,17 +1,47 @@ -/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- * * The contents of this file are subject to the Netscape Public License - * Version 1.0 (the "NPL"); you may not use this file except in - * compliance with the NPL. You may obtain a copy of the NPL at + * Version 1.0 (the "License"); you may not use this file except in + * compliance with the License. You may obtain a copy of the License at * http://www.mozilla.org/NPL/ * - * Software distributed under the NPL is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL - * for the specific language governing rights and limitations under the - * NPL. + * Software distributed under the License is distributed on an "AS IS" + * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + * the License for the specific language governing rights and limitations + * under the License. * - * The Initial Developer of this code under the NPL is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1998 Netscape Communications Corporation. All Rights - * Reserved. + * The Original Code is Mozilla Communicator client code. + * + * The Initial Developer of the Original Code is Netscape Communications + * Corporation. Portions created by Netscape are Copyright (C) 1998 + * Netscape Communications Corporation. All Rights Reserved. */ + +#include "nsISO885910ToUnicode.h" + +//---------------------------------------------------------------------- +// Global functions and data [declaration] + +static PRUint16 g_utMappingTable[] = { +#include "8859-10.ut" +}; + +static PRInt16 g_utShiftTable[] = { + 0, u1ByteCharset , + ShiftCell(0,0,0,0,0,0,0,0) +}; + +//---------------------------------------------------------------------- +// Class nsISO885910ToUnicode [implementation] + +nsISO885910ToUnicode::nsISO885910ToUnicode() +: nsOneByteDecoderSupport((uShiftTable*) &g_utShiftTable, + (uMappingTable*) &g_utMappingTable) +{ +} + +nsresult nsISO885910ToUnicode::CreateInstance(nsISupports ** aResult) +{ + *aResult = new nsISO885910ToUnicode(); + return (*aResult == NULL)? NS_ERROR_OUT_OF_MEMORY : NS_OK; +} diff --git a/mozilla/intl/uconv/ucvlatin/nsISO885910ToUnicode.h b/mozilla/intl/uconv/ucvlatin/nsISO885910ToUnicode.h index 68df01bea64..decdf86fd60 100644 --- a/mozilla/intl/uconv/ucvlatin/nsISO885910ToUnicode.h +++ b/mozilla/intl/uconv/ucvlatin/nsISO885910ToUnicode.h @@ -1,17 +1,49 @@ -/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- * * The contents of this file are subject to the Netscape Public License - * Version 1.0 (the "NPL"); you may not use this file except in - * compliance with the NPL. You may obtain a copy of the NPL at + * Version 1.0 (the "License"); you may not use this file except in + * compliance with the License. You may obtain a copy of the License at * http://www.mozilla.org/NPL/ * - * Software distributed under the NPL is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL - * for the specific language governing rights and limitations under the - * NPL. + * Software distributed under the License is distributed on an "AS IS" + * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + * the License for the specific language governing rights and limitations + * under the License. * - * The Initial Developer of this code under the NPL is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1998 Netscape Communications Corporation. All Rights - * Reserved. + * The Original Code is Mozilla Communicator client code. + * + * The Initial Developer of the Original Code is Netscape Communications + * Corporation. Portions created by Netscape are Copyright (C) 1998 + * Netscape Communications Corporation. All Rights Reserved. */ + +#ifndef nsISO885910ToUnicode_h___ +#define nsISO885910ToUnicode_h___ + +#include "nsUCvLatinSupport.h" + +//---------------------------------------------------------------------- +// Class nsISO885910ToUnicode [declaration] + +/** + * A character set converter from ISO885910 to Unicode. + * + * @created 23/Nov/1998 + * @author Catalin Rotaru [CATA] + */ +class nsISO885910ToUnicode : public nsOneByteDecoderSupport +{ +public: + + /** + * Class constructor. + */ + nsISO885910ToUnicode(); + + /** + * Static class constructor. + */ + static nsresult CreateInstance(nsISupports **aResult); +}; + +#endif /* nsISO885910ToUnicode_h___ */ diff --git a/mozilla/intl/uconv/ucvlatin/nsUnicodeToISO885910.cpp b/mozilla/intl/uconv/ucvlatin/nsUnicodeToISO885910.cpp index 68df01bea64..e11703bf642 100644 --- a/mozilla/intl/uconv/ucvlatin/nsUnicodeToISO885910.cpp +++ b/mozilla/intl/uconv/ucvlatin/nsUnicodeToISO885910.cpp @@ -1,17 +1,59 @@ -/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- * * The contents of this file are subject to the Netscape Public License - * Version 1.0 (the "NPL"); you may not use this file except in - * compliance with the NPL. You may obtain a copy of the NPL at + * Version 1.0 (the "License"); you may not use this file except in + * compliance with the License. You may obtain a copy of the License at * http://www.mozilla.org/NPL/ * - * Software distributed under the NPL is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL - * for the specific language governing rights and limitations under the - * NPL. + * Software distributed under the License is distributed on an "AS IS" + * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + * the License for the specific language governing rights and limitations + * under the License. * - * The Initial Developer of this code under the NPL is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1998 Netscape Communications Corporation. All Rights - * Reserved. + * The Original Code is Mozilla Communicator client code. + * + * The Initial Developer of the Original Code is Netscape Communications + * Corporation. Portions created by Netscape are Copyright (C) 1998 + * Netscape Communications Corporation. All Rights Reserved. */ + +#include "nsUnicodeToISO885910.h" + +//---------------------------------------------------------------------- +// Global functions and data [declaration] + +static PRUint16 g_ufMappingTable[] = { +#include "8859-10.uf" +}; + +static PRInt16 g_ufShiftTable[] = { + 0, u1ByteCharset , + ShiftCell(0,0,0,0,0,0,0,0) +}; + +//---------------------------------------------------------------------- +// Class nsUnicodeToISO885910 [implementation] + +nsUnicodeToISO885910::nsUnicodeToISO885910() +: nsTableEncoderSupport((uShiftTable*) &g_ufShiftTable, + (uMappingTable*) &g_ufMappingTable) +{ +} + +nsresult nsUnicodeToISO885910::CreateInstance(nsISupports ** aResult) +{ + *aResult = (nsIUnicodeEncoder *) new nsUnicodeToISO885910(); + return (*aResult == NULL)? NS_ERROR_OUT_OF_MEMORY : NS_OK; +} + +//---------------------------------------------------------------------- +// Subclassing of nsTableEncoderSupport class [implementation] + +NS_IMETHODIMP nsUnicodeToISO885910::GetMaxLength(const PRUnichar * aSrc, + PRInt32 aSrcLength, + PRInt32 * aDestLength) +{ + *aDestLength = aSrcLength; + return NS_OK_UENC_EXACTLENGTH; +} + diff --git a/mozilla/intl/uconv/ucvlatin/nsUnicodeToISO885910.h b/mozilla/intl/uconv/ucvlatin/nsUnicodeToISO885910.h index 68df01bea64..8991c45a191 100644 --- a/mozilla/intl/uconv/ucvlatin/nsUnicodeToISO885910.h +++ b/mozilla/intl/uconv/ucvlatin/nsUnicodeToISO885910.h @@ -1,17 +1,57 @@ -/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- * * The contents of this file are subject to the Netscape Public License - * Version 1.0 (the "NPL"); you may not use this file except in - * compliance with the NPL. You may obtain a copy of the NPL at + * Version 1.0 (the "License"); you may not use this file except in + * compliance with the License. You may obtain a copy of the License at * http://www.mozilla.org/NPL/ * - * Software distributed under the NPL is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL - * for the specific language governing rights and limitations under the - * NPL. + * Software distributed under the License is distributed on an "AS IS" + * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + * the License for the specific language governing rights and limitations + * under the License. * - * The Initial Developer of this code under the NPL is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1998 Netscape Communications Corporation. All Rights - * Reserved. + * The Original Code is Mozilla Communicator client code. + * + * The Initial Developer of the Original Code is Netscape Communications + * Corporation. Portions created by Netscape are Copyright (C) 1998 + * Netscape Communications Corporation. All Rights Reserved. */ + +#ifndef nsUnicodeToISO885910_h___ +#define nsUnicodeToISO885910_h___ + +#include "nsUCvLatinSupport.h" + +//---------------------------------------------------------------------- +// Class nsUnicodeToISO885910 [declaration] + +/** + * A character set converter from Unicode to ISO885910. + * + * @created 17/Feb/1999 + * @author Catalin Rotaru [CATA] + */ +class nsUnicodeToISO885910 : public nsTableEncoderSupport +{ +public: + + /** + * Class constructor. + */ + nsUnicodeToISO885910(); + + /** + * Static class constructor. + */ + static nsresult CreateInstance(nsISupports **aResult); + +protected: + + //-------------------------------------------------------------------- + // Subclassing of nsEncoderSupport class [declaration] + + NS_IMETHOD GetMaxLength(const PRUnichar * aSrc, PRInt32 aSrcLength, + PRInt32 * aDestLength); +}; + +#endif /* nsUnicodeToISO885910_h___ */