File indexing completed on 2024-04-14 03:51:24

0001 /*
0002     SPDX-FileCopyrightText: 2022 Volker Krause <vkrause@kde.org>
0003     SPDX-License-Identifier: LGPL-2.0-or-later
0004 */
0005 
0006 #include "address.h"
0007 #include "addressformatscript_p.h"
0008 
0009 using namespace KContacts;
0010 
0011 AddressFormatScript::ScriptType AddressFormatScript::detect(const QString &s)
0012 {
0013     for (auto c : s) {
0014         switch (c.script()) {
0015         case QChar::Script_Arabic:
0016             return AddressFormatScript::ArabicLikeScript;
0017         case QChar::Script_Han:
0018             return AddressFormatScript::HanLikeScript;
0019         case QChar::Script_Hangul:
0020         case QChar::Script_Thai:
0021             return AddressFormatScript::HangulLikeScript;
0022         default:
0023             break;
0024         }
0025     }
0026     return AddressFormatScript::LatinLikeScript;
0027 }
0028 
0029 AddressFormatScript::ScriptType AddressFormatScript::detect(const Address &addr)
0030 {
0031     return std::max(detect(addr.street()), detect(addr.locality()));
0032 }