OpenTTD Source  20240919-master-gdf0233f4c2
string_osx.h File Reference
#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. More...
 
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. More...
 
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

◆ 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().

◆ 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().