From d651c2b38dcc9c361f719f56067320e71dd8a3a4 Mon Sep 17 00:00:00 2001 From: nillerusr Date: Sun, 9 Jan 2022 19:20:00 +0300 Subject: [PATCH] Fix font problems --- common/iconv.h | 87 +++++++++++++++++++ engine/host.cpp | 2 +- launcher/launcher.cpp | 6 +- lib/android/armeabi-v7a/libandroid_support.a | Bin 924694 -> 926484 bytes vgui2/vgui_surfacelib/linuxfont.cpp | 10 ++- 5 files changed, 97 insertions(+), 8 deletions(-) create mode 100644 common/iconv.h diff --git a/common/iconv.h b/common/iconv.h new file mode 100644 index 00000000..3ef7ed7d --- /dev/null +++ b/common/iconv.h @@ -0,0 +1,87 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#pragma once + +/** + * @file iconv.h + * @brief Character encoding conversion. + */ + +#include +#include + +__BEGIN_DECLS + +/* If we just use void* in the typedef, the compiler exposes that in error messages. */ +struct __iconv_t; + +/** + * The `iconv_t` type that represents an instance of a converter. + */ +typedef struct __iconv_t* iconv_t; + +/** + * [iconv_open(3)](http://man7.org/linux/man-pages/man3/iconv_open.3.html) allocates a new converter + * from `__src_encoding` to `__dst_encoding`. + * + * Returns a new `iconv_t` on success and returns `((iconv_t) -1)` and sets `errno` on failure. + * + * Available since API level 28. + */ + +#if __ANDROID_API__ >= 28 +iconv_t iconv_open(const char* __src_encoding, const char* __dst_encoding) __INTRODUCED_IN(28); + +/** + * [iconv(3)](http://man7.org/linux/man-pages/man3/iconv.3.html) converts characters from one + * encoding to another. + * + * Android supports the `utf8`, `ascii`, `usascii`, `utf16be`, `utf16le`, `utf32be`, `utf32le`, + * and `wchart` encodings. Android also supports the GNU `//IGNORE` and `//TRANSLIT` extensions. + * + * Returns the number of characters converted on success and returns `((size_t) -1)` and + * sets `errno` on failure. + * + * Available since API level 28. + */ +size_t iconv(iconv_t __converter, char** __src_buf, size_t* __src_bytes_left, char** __dst_buf, size_t* __dst_bytes_left) __INTRODUCED_IN(28); + +/** + * [iconv_close(3)](http://man7.org/linux/man-pages/man3/iconv_close.3.html) deallocates a converter + * returned by iconv_open(). + * + * Returns 0 on success and returns -1 and sets `errno` on failure. + * + * Available since API level 28. + */ +int iconv_close(iconv_t __converter) __INTRODUCED_IN(28); +#endif /* __ANDROID_API__ >= 28 */ + + +__END_DECLS diff --git a/engine/host.cpp b/engine/host.cpp index 067f9ee8..57370866 100644 --- a/engine/host.cpp +++ b/engine/host.cpp @@ -3903,7 +3903,7 @@ void Host_PostInit() EngineVGui()->PostInit(); } -#if defined( LINUX ) +#if defined( LINUX ) && !defined ANDROID const char en_US[] = "en_US.UTF-8"; const char *CurrentLocale = setlocale( LC_ALL, NULL ); if ( !CurrentLocale ) diff --git a/launcher/launcher.cpp b/launcher/launcher.cpp index 7c7f663b..217db87c 100644 --- a/launcher/launcher.cpp +++ b/launcher/launcher.cpp @@ -1192,7 +1192,7 @@ extern "C" __declspec(DLL_EXPORT) int LauncherMain( HINSTANCE hInstance, HINSTAN DLL_EXPORT int LauncherMain( int argc, char **argv ) #endif { -#ifdef LINUX +#if defined LINUX && !defined ANDROID // Temporary fix to stop us from crashing in printf/sscanf functions that don't expect // localization to mess with your "." and "," float seperators. Mac OSX also sets LANG // to en_US.UTF-8 before starting up (in info.plist I believe). @@ -1208,12 +1208,12 @@ DLL_EXPORT int LauncherMain( int argc, char **argv ) const char *CurrentLocale = setlocale( LC_ALL, NULL ); if ( Q_stricmp( CurrentLocale, en_US ) ) { - Warning( "WARNING: setlocale('%s') failed, using locale:'%s'. International characters may not work.\n", en_US, CurrentLocale ); + Msg( "WARNING: setlocale('%s') failed, using locale:'%s'. International characters may not work.\n", en_US, CurrentLocale ); } #endif // LINUX -#if defined LINUX && defined USE_SDL && defined TOGLES +#if defined LINUX && defined USE_SDL && defined TOGLES && !defined ANDROID SDL_SetHint(SDL_HINT_VIDEO_X11_FORCE_EGL, "1"); #endif diff --git a/lib/android/armeabi-v7a/libandroid_support.a b/lib/android/armeabi-v7a/libandroid_support.a index 30a81d72e8ae976751fb5fc59b1951aaa2a8e6a0..c19cd8cca93c3637b64e2f06c54dc631a010910c 100644 GIT binary patch delta 33575 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

?m&`=ph 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 VzPFny(i^(swEQqp_>wj9{{SR6-ktye delta 31281 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 Aga7~l diff --git a/vgui2/vgui_surfacelib/linuxfont.cpp b/vgui2/vgui_surfacelib/linuxfont.cpp index f94d7a40..c77065b2 100644 --- a/vgui2/vgui_surfacelib/linuxfont.cpp +++ b/vgui2/vgui_surfacelib/linuxfont.cpp @@ -42,6 +42,8 @@ inline int32_t INT_2FIXED6(int32_t x) { return x << 6; } bool CLinuxFont::ms_bSetFriendlyNameCacheLessFunc = false; CUtlRBTree< CLinuxFont::font_name_entry > CLinuxFont::m_FriendlyNameCache; +#define ANDROID 1 + //----------------------------------------------------------------------------- // Purpose: Constructor //----------------------------------------------------------------------------- @@ -422,9 +424,9 @@ char *FindFontAndroid(bool bBold, int italic) else if( italic ) fontFileNamePost = "Italic"; else - fontFileName = "Regular"; + fontFileNamePost = "Regular"; - char dataFile[MAX_PATH]; + static char dataFile[MAX_PATH]; if( fontFileNamePost ) snprintf( dataFile, sizeof dataFile, "/system/fonts/%s-%s.ttf", fontFileName, fontFileNamePost ); @@ -435,7 +437,7 @@ char *FindFontAndroid(bool bBold, int italic) { fontFileNamePost = NULL; fontFileName = "DroidSans"; - if( bBold > 500 ) + if( bBold ) fontFileNamePost = "Bold"; if( fontFileNamePost ) @@ -468,7 +470,7 @@ char *CLinuxFont::GetFontFileName( const char *windowsFontName, int flags ) #ifdef ANDROID char *filename = FindFontAndroid( bBold, italic ); - Msg("Android font: %s", filename); + Msg("Android font: %s\n", filename); if( !filename ) return NULL; return strdup( filename ); #else