1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-04 12:00:25 +00:00

[Export] Allow using ICU data from export templates instead of editor embedded data.

This commit is contained in:
Pāvels Nadtočajevs
2024-12-05 22:49:06 +02:00
parent 4cf02312f6
commit 3d60ce9389
9 changed files with 65 additions and 50 deletions

View File

@@ -442,23 +442,23 @@ bool TextServerAdvanced::_load_support_data(const String &p_filename) {
#else
if (!icu_data_loaded) {
UErrorCode err = U_ZERO_ERROR;
#ifdef ICU_DATA_NAME
String filename = (p_filename.is_empty()) ? String("res://") + _MKSTR(ICU_DATA_NAME) : p_filename;
String filename = (p_filename.is_empty()) ? String("res://icudt_godot.dat") : p_filename;
if (FileAccess::exists(filename)) {
Ref<FileAccess> f = FileAccess::open(filename, FileAccess::READ);
if (f.is_null()) {
return false;
}
uint64_t len = f->get_length();
icu_data = f->get_buffer(len);
Ref<FileAccess> f = FileAccess::open(filename, FileAccess::READ);
if (f.is_null()) {
return false;
}
uint64_t len = f->get_length();
icu_data = f->get_buffer(len);
udata_setCommonData(icu_data.ptr(), &err);
if (U_FAILURE(err)) {
ERR_FAIL_V_MSG(false, u_errorName(err));
}
udata_setCommonData(icu_data.ptr(), &err);
if (U_FAILURE(err)) {
ERR_FAIL_V_MSG(false, u_errorName(err));
err = U_ZERO_ERROR;
}
err = U_ZERO_ERROR;
#endif
u_init(&err);
if (U_FAILURE(err)) {
ERR_FAIL_V_MSG(false, u_errorName(err));
@@ -470,11 +470,11 @@ bool TextServerAdvanced::_load_support_data(const String &p_filename) {
}
String TextServerAdvanced::_get_support_data_filename() const {
return _MKSTR(ICU_DATA_NAME);
return String("icudt_godot.dat");
}
String TextServerAdvanced::_get_support_data_info() const {
return String("ICU break iteration data (") + _MKSTR(ICU_DATA_NAME) + String(").");
return String("ICU break iteration data (\"icudt_godot.dat\").");
}
bool TextServerAdvanced::_save_support_data(const String &p_filename) const {