Cleanup: rename Curve.len_wchar to len_char32
The name was misleading as the length is for char32_t, not wchar_t.
This commit is contained in:
@@ -223,7 +223,7 @@ void BKE_curve_init(Curve *cu, const short curve_type)
|
||||
cu->vfont->id.us += 4;
|
||||
cu->str = MEM_malloc_arrayN(12, sizeof(unsigned char), "str");
|
||||
BLI_strncpy(cu->str, "Text", 12);
|
||||
cu->len = cu->len_wchar = cu->pos = 4;
|
||||
cu->len = cu->len_char32 = cu->pos = 4;
|
||||
cu->strinfo = MEM_calloc_arrayN(12, sizeof(CharInfo), "strinfo new");
|
||||
cu->totbox = cu->actbox = 1;
|
||||
cu->tb = MEM_calloc_arrayN(MAXTEXTBOX, sizeof(TextBox), "textbox");
|
||||
@@ -5437,7 +5437,7 @@ void BKE_curve_material_index_remove(Curve *cu, int index)
|
||||
if (curvetype == OB_FONT) {
|
||||
struct CharInfo *info = cu->strinfo;
|
||||
int i;
|
||||
for (i = cu->len_wchar - 1; i >= 0; i--, info++) {
|
||||
for (i = cu->len_char32 - 1; i >= 0; i--, info++) {
|
||||
if (info->mat_nr && info->mat_nr >= index) {
|
||||
info->mat_nr--;
|
||||
}
|
||||
@@ -5461,7 +5461,7 @@ bool BKE_curve_material_index_used(Curve *cu, int index)
|
||||
if (curvetype == OB_FONT) {
|
||||
struct CharInfo *info = cu->strinfo;
|
||||
int i;
|
||||
for (i = cu->len_wchar - 1; i >= 0; i--, info++) {
|
||||
for (i = cu->len_char32 - 1; i >= 0; i--, info++) {
|
||||
if (info->mat_nr == index) {
|
||||
return true;
|
||||
}
|
||||
@@ -5487,7 +5487,7 @@ void BKE_curve_material_index_clear(Curve *cu)
|
||||
if (curvetype == OB_FONT) {
|
||||
struct CharInfo *info = cu->strinfo;
|
||||
int i;
|
||||
for (i = cu->len_wchar - 1; i >= 0; i--, info++) {
|
||||
for (i = cu->len_char32 - 1; i >= 0; i--, info++) {
|
||||
info->mat_nr = 0;
|
||||
}
|
||||
}
|
||||
@@ -5509,7 +5509,7 @@ bool BKE_curve_material_index_validate(Curve *cu)
|
||||
CharInfo *info = cu->strinfo;
|
||||
const int max_idx = max_ii(0, cu->totcol); /* OB_FONT use 1 as first mat index, not 0!!! */
|
||||
int i;
|
||||
for (i = cu->len_wchar - 1; i >= 0; i--, info++) {
|
||||
for (i = cu->len_char32 - 1; i >= 0; i--, info++) {
|
||||
if (info->mat_nr > max_idx) {
|
||||
info->mat_nr = 0;
|
||||
is_valid = false;
|
||||
@@ -5557,7 +5557,7 @@ void BKE_curve_material_remap(Curve *cu, const unsigned int *remap, unsigned int
|
||||
}
|
||||
else {
|
||||
strinfo = cu->strinfo;
|
||||
charinfo_len = cu->len_wchar;
|
||||
charinfo_len = cu->len_char32;
|
||||
}
|
||||
|
||||
for (i = 0; i <= charinfo_len; i++) {
|
||||
|
||||
@@ -797,7 +797,7 @@ static bool vfont_to_curve(Object *ob,
|
||||
}
|
||||
else {
|
||||
char32_t *mem_tmp;
|
||||
slen = cu->len_wchar;
|
||||
slen = cu->len_char32;
|
||||
|
||||
/* Create unicode string */
|
||||
mem_tmp = MEM_malloc_arrayN((slen + 1), sizeof(*mem_tmp), "convertedmem");
|
||||
|
||||
@@ -523,7 +523,7 @@ static void make_duplis_font(const DupliContext *ctx)
|
||||
/* Safety check even if it might fail badly when called for original object. */
|
||||
const bool is_eval_curve = DEG_is_evaluated_id(&cu->id);
|
||||
|
||||
/* advance matching BLI_strncpy_wchar_from_utf8 */
|
||||
/* Advance matching BLI_str_utf8_as_utf32. */
|
||||
for (a = 0; a < text_len; a++, ct++) {
|
||||
|
||||
/* XXX That G.main is *really* ugly, but not sure what to do here...
|
||||
|
||||
@@ -4162,7 +4162,7 @@ static void direct_link_curve(BlendDataReader *reader, Curve *cu)
|
||||
direct_link_animdata(reader, cu->adt);
|
||||
|
||||
/* Protect against integer overflow vulnerability. */
|
||||
CLAMP(cu->len_wchar, 0, INT_MAX - 4);
|
||||
CLAMP(cu->len_char32, 0, INT_MAX - 4);
|
||||
|
||||
BLO_read_pointer_array(reader, (void **)&cu->mat);
|
||||
|
||||
|
||||
@@ -2520,7 +2520,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
|
||||
|
||||
for (cu = bmain->curves.first; cu; cu = cu->id.next) {
|
||||
if (cu->str) {
|
||||
cu->len_wchar = BLI_strlen_utf8(cu->str);
|
||||
cu->len_char32 = BLI_strlen_utf8(cu->str);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2007,7 +2007,7 @@ static void write_curve(BlendWriter *writer, Curve *cu, const void *id_address)
|
||||
|
||||
if (cu->vfont) {
|
||||
BLO_write_raw(writer, cu->len + 1, cu->str);
|
||||
BLO_write_struct_array(writer, CharInfo, cu->len_wchar + 1, cu->strinfo);
|
||||
BLO_write_struct_array(writer, CharInfo, cu->len_char32 + 1, cu->strinfo);
|
||||
BLO_write_struct_array(writer, TextBox, cu->totbox, cu->tb);
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -682,7 +682,7 @@ static void txt_add_object(bContext *C, TextLine *firstline, int totline, const
|
||||
cu->strinfo = MEM_callocN((nchars + 4) * sizeof(CharInfo), "strinfo");
|
||||
|
||||
cu->len = 0;
|
||||
cu->len_wchar = nchars - 1;
|
||||
cu->len_char32 = nchars - 1;
|
||||
cu->pos = 0;
|
||||
|
||||
s = cu->str;
|
||||
@@ -703,7 +703,7 @@ static void txt_add_object(bContext *C, TextLine *firstline, int totline, const
|
||||
}
|
||||
}
|
||||
|
||||
cu->pos = cu->len_wchar;
|
||||
cu->pos = cu->len_char32;
|
||||
*s = '\0';
|
||||
|
||||
WM_event_add_notifier(C, NC_OBJECT | NA_ADDED, obedit);
|
||||
@@ -1867,7 +1867,7 @@ void ED_curve_editfont_make(Object *obedit)
|
||||
{
|
||||
Curve *cu = obedit->data;
|
||||
EditFont *ef = cu->editfont;
|
||||
int len_wchar;
|
||||
int len_char32;
|
||||
|
||||
if (ef == NULL) {
|
||||
ef = cu->editfont = MEM_callocN(sizeof(EditFont), "editfont");
|
||||
@@ -1877,9 +1877,9 @@ void ED_curve_editfont_make(Object *obedit)
|
||||
}
|
||||
|
||||
/* Convert the original text to wchar_t */
|
||||
len_wchar = BLI_str_utf8_as_utf32(ef->textbuf, cu->str, MAXTEXT + 4);
|
||||
BLI_assert(len_wchar == cu->len_wchar);
|
||||
ef->len = len_wchar;
|
||||
len_char32 = BLI_str_utf8_as_utf32(ef->textbuf, cu->str, MAXTEXT + 4);
|
||||
BLI_assert(len_char32 == cu->len_char32);
|
||||
ef->len = len_char32;
|
||||
BLI_assert(ef->len >= 0);
|
||||
|
||||
memcpy(ef->textbufinfo, cu->strinfo, ef->len * sizeof(CharInfo));
|
||||
@@ -1908,7 +1908,7 @@ void ED_curve_editfont_load(Object *obedit)
|
||||
MEM_freeN(cu->str);
|
||||
|
||||
/* Calculate the actual string length in UTF-8 variable characters */
|
||||
cu->len_wchar = ef->len;
|
||||
cu->len_char32 = ef->len;
|
||||
cu->len = BLI_str_utf32_as_utf8_len(ef->textbuf);
|
||||
|
||||
/* Alloc memory for UTF-8 variable char length string */
|
||||
@@ -1920,8 +1920,8 @@ void ED_curve_editfont_load(Object *obedit)
|
||||
if (cu->strinfo) {
|
||||
MEM_freeN(cu->strinfo);
|
||||
}
|
||||
cu->strinfo = MEM_callocN((cu->len_wchar + 4) * sizeof(CharInfo), "texteditinfo");
|
||||
memcpy(cu->strinfo, ef->textbufinfo, cu->len_wchar * sizeof(CharInfo));
|
||||
cu->strinfo = MEM_callocN((cu->len_char32 + 4) * sizeof(CharInfo), "texteditinfo");
|
||||
memcpy(cu->strinfo, ef->textbufinfo, cu->len_char32 * sizeof(CharInfo));
|
||||
|
||||
/* Other vars */
|
||||
cu->pos = ef->pos;
|
||||
|
||||
@@ -274,9 +274,12 @@ typedef struct Curve {
|
||||
int selstart, selend;
|
||||
|
||||
/* text data */
|
||||
/** Number of characters (strinfo). */
|
||||
int len_wchar;
|
||||
/** Number of bytes (str - utf8). */
|
||||
/**
|
||||
* Number of characters (unicode code-points)
|
||||
* This is the length of #Curve.strinfo and the result of `BLI_strlen_utf8(cu->str)`.
|
||||
*/
|
||||
int len_char32;
|
||||
/** Number of bytes: `strlen(Curve.str)`. */
|
||||
int len;
|
||||
char *str;
|
||||
struct EditFont *editfont;
|
||||
|
||||
@@ -67,6 +67,7 @@ DNA_STRUCT_RENAME_ELEM(Bone, scaleOut, scale_out_x)
|
||||
DNA_STRUCT_RENAME_ELEM(BrushGpencilSettings, gradient_f, hardeness)
|
||||
DNA_STRUCT_RENAME_ELEM(BrushGpencilSettings, gradient_s, aspect_ratio)
|
||||
DNA_STRUCT_RENAME_ELEM(Camera, YF_dofdist, dof_distance)
|
||||
DNA_STRUCT_RENAME_ELEM(Curve, len_wchar, len_char32)
|
||||
DNA_STRUCT_RENAME_ELEM(Camera, clipend, clip_end)
|
||||
DNA_STRUCT_RENAME_ELEM(Camera, clipsta, clip_start)
|
||||
DNA_STRUCT_RENAME_ELEM(Collection, dupli_ofs, instance_offset)
|
||||
|
||||
@@ -570,7 +570,7 @@ static void rna_Curve_body_set(PointerRNA *ptr, const char *value)
|
||||
|
||||
Curve *cu = (Curve *)ptr->owner_id;
|
||||
|
||||
cu->len_wchar = len_chars;
|
||||
cu->len_char32 = len_chars;
|
||||
cu->len = len_bytes;
|
||||
cu->pos = len_chars;
|
||||
|
||||
@@ -1206,7 +1206,7 @@ static void rna_def_font(BlenderRNA *UNUSED(brna), StructRNA *srna)
|
||||
RNA_def_property_update(prop, 0, "rna_Curve_update_data");
|
||||
|
||||
prop = RNA_def_property(srna, "body_format", PROP_COLLECTION, PROP_NONE);
|
||||
RNA_def_property_collection_sdna(prop, NULL, "strinfo", "len_wchar");
|
||||
RNA_def_property_collection_sdna(prop, NULL, "strinfo", "len_char32");
|
||||
RNA_def_property_struct_type(prop, "TextCharacterFormat");
|
||||
RNA_def_property_ui_text(prop, "Character Info", "Stores the style of each character");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user