/home/kueuepay/public_html/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/CodePage.php
<?php

namespace PhpOffice\PhpSpreadsheet\Shared;

use PhpOffice\PhpSpreadsheet\Exception as PhpSpreadsheetException;

class CodePage
{
    public const DEFAULT_CODE_PAGE = 'CP1252';

    /** @var array */
    private static $pageArray = [
        0 => 'CP1252', //    CodePage is not always correctly set when the xls file was saved by Apple's Numbers program
        367 => 'ASCII', //    ASCII
        437 => 'CP437', //    OEM US
        //720 => 'notsupported', //    OEM Arabic
        737 => 'CP737', //    OEM Greek
        775 => 'CP775', //    OEM Baltic
        850 => 'CP850', //    OEM Latin I
        852 => 'CP852', //    OEM Latin II (Central European)
        855 => 'CP855', //    OEM Cyrillic
        857 => 'CP857', //    OEM Turkish
        858 => 'CP858', //    OEM Multilingual Latin I with Euro
        860 => 'CP860', //    OEM Portugese
        861 => 'CP861', //    OEM Icelandic
        862 => 'CP862', //    OEM Hebrew
        863 => 'CP863', //    OEM Canadian (French)
        864 => 'CP864', //    OEM Arabic
        865 => 'CP865', //    OEM Nordic
        866 => 'CP866', //    OEM Cyrillic (Russian)
        869 => 'CP869', //    OEM Greek (Modern)
        874 => 'CP874', //    ANSI Thai
        932 => 'CP932', //    ANSI Japanese Shift-JIS
        936 => 'CP936', //    ANSI Chinese Simplified GBK
        949 => 'CP949', //    ANSI Korean (Wansung)
        950 => 'CP950', //    ANSI Chinese Traditional BIG5
        1200 => 'UTF-16LE', //    UTF-16 (BIFF8)
        1250 => 'CP1250', //    ANSI Latin II (Central European)
        1251 => 'CP1251', //    ANSI Cyrillic
        1252 => 'CP1252', //    ANSI Latin I (BIFF4-BIFF7)
        1253 => 'CP1253', //    ANSI Greek
        1254 => 'CP1254', //    ANSI Turkish
        1255 => 'CP1255', //    ANSI Hebrew
        1256 => 'CP1256', //    ANSI Arabic
        1257 => 'CP1257', //    ANSI Baltic
        1258 => 'CP1258', //    ANSI Vietnamese
        1361 => 'CP1361', //    ANSI Korean (Johab)
        10000 => 'MAC', //    Apple Roman
        10001 => 'CP932', //    Macintosh Japanese
        10002 => 'CP950', //    Macintosh Chinese Traditional
        10003 => 'CP1361', //    Macintosh Korean
        10004 => 'MACARABIC', //    Apple Arabic
        10005 => 'MACHEBREW', //    Apple Hebrew
        10006 => 'MACGREEK', //    Macintosh Greek
        10007 => 'MACCYRILLIC', //    Macintosh Cyrillic
        10008 => 'CP936', //    Macintosh - Simplified Chinese (GB 2312)
        10010 => 'MACROMANIA', //    Macintosh Romania
        10017 => 'MACUKRAINE', //    Macintosh Ukraine
        10021 => 'MACTHAI', //    Macintosh Thai
        10029 => ['MACCENTRALEUROPE', 'MAC-CENTRALEUROPE'], //    Macintosh Central Europe
        10079 => 'MACICELAND', //    Macintosh Icelandic
        10081 => 'MACTURKISH', //    Macintosh Turkish
        10082 => 'MACCROATIAN', //    Macintosh Croatian
        21010 => 'UTF-16LE', //    UTF-16 (BIFF8) This isn't correct, but some Excel writer libraries erroneously use Codepage 21010 for UTF-16LE
        32768 => 'MAC', //    Apple Roman
        //32769 => 'unsupported', //    ANSI Latin I (BIFF2-BIFF3)
        65000 => 'UTF-7', //    Unicode (UTF-7)
        65001 => 'UTF-8', //    Unicode (UTF-8)
        99999 => ['unsupported'], //    Unicode (UTF-8)
    ];

    public static function validate(string $codePage): bool
    {
        return in_array($codePage, self::$pageArray, true);
    }

    /**
     * Convert Microsoft Code Page Identifier to Code Page Name which iconv
     * and mbstring understands.
     *
     * @param int $codePage Microsoft Code Page Indentifier
     *
     * @return string Code Page Name
     */
    public static function numberToName(int $codePage): string
    {
        if (array_key_exists($codePage, self::$pageArray)) {
            $value = self::$pageArray[$codePage];
            if (is_array($value)) {
                foreach ($value as $encoding) {
                    if (@iconv('UTF-8', $encoding, ' ') !== false) {
                        self::$pageArray[$codePage] = $encoding;

                        return $encoding;
                    }
                }

                throw new PhpSpreadsheetException("Code page $codePage not implemented on this system.");
            } else {
                return $value;
            }
        }
        if ($codePage == 720 || $codePage == 32769) {
            throw new PhpSpreadsheetException("Code page $codePage not supported."); //    OEM Arabic
        }

        throw new PhpSpreadsheetException('Unknown codepage: ' . $codePage);
    }

    public static function getEncodings(): array
    {
        return self::$pageArray;
    }
}
About
top

About NFC Pay: Our Story and Mission

NFC Pay was founded with a vision to transform the way people handle transactions. Our journey is defined by a commitment to innovation, security, and convenience. We strive to deliver seamless, user-friendly payment solutions that make everyday transactions effortless and secure. Our mission is to empower you to pay with ease and confidence, anytime, anywhere.

  • Simplifying Payments, One Tap at a Time.
  • Reinventing Your Wallet for Modern Convenience.
  • Smart Payments for a Effortless Lifestyle.
  • Experience the Ease of Tap and Pay.
  • Innovative Solutions for Your Daily Transactions.

Frequently Asked Questions About NFC Pay

Here are answers to some common questions about NFC Pay. We aim to provide clear and concise information to help you understand how our platform works and how it can benefit you. If you have any further inquiries, please don’t hesitate to contact our support team.

faq-img

How do I register for NFC Pay?

Download the app and sign up using your email or phone number, then complete the verification process.

Is my payment information secure?

Yes, we use advanced encryption and security protocols to protect your payment details.

Can I add multiple cards to my NFC Pay wallet?

Absolutely, you can link multiple debit or credit cards to your wallet.

How do I transfer money to another user?

Go to the transfer section, select the recipient, enter the amount, and authorize the transfer.

What should I do if I forget my PIN?

Use the “Forgot PIN” feature in the app to reset it following the provided instructions.

How can I activate my merchant account?

Sign up for a merchant account through the app and follow the setup instructions to start accepting payments.

Can I track my payment status?

Yes, you can view and track your payment status in the account dashboard