OpenTTD Source 20241224-master-gee860a5c8e
string_osx.h File Reference

Functions related to localized text support on OSX. More...

#include "../../gfx_layout.h"
#include "../../string_base.h"

Go to the source code of this file.

Data Structures

class  OSXStringIterator
 String iterator using CoreText as a backend. More...
 
struct  OSXStringIterator::CharInfo
 Break info for a character. More...
 
class  CoreTextParagraphLayoutFactory
 Helper class to construct a new CoreTextParagraphLayout. More...
 

Functions

void MacOSResetScriptCache (FontSize size)
 Delete CoreText font reference for a specific font size.
 
void MacOSSetCurrentLocaleName (const char *iso_code)
 Store current language locale as a CoreFoundation locale.
 
int MacOSStringCompare (std::string_view s1, std::string_view s2)
 Compares two strings using case insensitive natural sort.
 
int MacOSStringContains (const std::string_view str, const std::string_view value, bool case_insensitive)
 Search if a string is contained in another string using the current locale.
 
void MacOSRegisterExternalFont (const char *file_path)
 Register an external font file with the CoreText system.
 

Detailed Description

Functions related to localized text support on OSX.

Definition in file string_osx.h.

Function Documentation

◆ MacOSRegisterExternalFont()

void MacOSRegisterExternalFont ( const char *  file_path)

Register an external font file with the CoreText system.

Definition at line 303 of file string_osx.cpp.

References MacOSVersionIsAtLeast().

◆ MacOSResetScriptCache()

void MacOSResetScriptCache ( FontSize  size)

Delete CoreText font reference for a specific font size.

Definition at line 297 of file string_osx.cpp.

References _font_cache.

Referenced by Layouter::ResetFontCache().

◆ MacOSSetCurrentLocaleName()

void MacOSSetCurrentLocaleName ( const char *  iso_code)

Store current language locale as a CoreFoundation locale.

Definition at line 314 of file string_osx.cpp.

References _osx_locale, and MacOSVersionIsAtLeast().

Referenced by ReadLanguagePack().

◆ MacOSStringCompare()

int MacOSStringCompare ( std::string_view  s1,
std::string_view  s2 
)

Compares two strings using case insensitive natural sort.

Parameters
s1First string to compare.
s2Second string to compare.
Returns
1 if s1 < s2, 2 if s1 == s2, 3 if s1 > s2, or 0 if not supported by the OS.

Definition at line 329 of file string_osx.cpp.

References _osx_locale, and MacOSVersionIsAtLeast().

Referenced by StrNaturalCompare().

◆ MacOSStringContains()

int MacOSStringContains ( const std::string_view  str,
const std::string_view  value,
bool  case_insensitive 
)

Search if a string is contained in another string using the current locale.

Parameters
strString to search in.
valueString to search for.
case_insensitiveSearch case-insensitive.
Returns
1 if value was found, 0 if it was not found, or -1 if not supported by the OS.

Definition at line 353 of file string_osx.cpp.

References _osx_locale, and MacOSVersionIsAtLeast().

Referenced by StrNaturalContains(), and StrNaturalContainsIgnoreCase().