### Godot version

v4.2.dev4.official [549fcce5f]

### System information

Ubuntu 20.04 LTS

### Issue description

See title.

### Steps to reproduce

1. Create a new project
2. Create a csv file that includes the following
```
key,ar
key,placeholder
```
3. Add the generated `.translation` file to Project -> Project Settings... -> Localization
4. In Project -> Project Settings... -> Internationalization -> Locale, set `Test` to `ar`
5. Add a `LineEdit` node and type `-=[]{}`
6. Run the project, and notice that the text is on the right side, but the symbols are incorrectly in LTR (`-=[]{}`).  Correct output is `{}[]=-`
7. Back in the editor, add a single Arabic letter (any will do), and notice that `LineEdit` immediately (and correctly) flips the symbols, and the newly-added Arabic letter, to RTL.

**Notes**
- Identical behavior is seen with `TextEdit`.
- The purpose of steps 2-4 are to simulate an Arabic environment when the project is run, despite `OS.get_locale() == "en"` (or your system's current language).

### Minimal reproduction project

[rtlsymbols.zip](https://github.com/godotengine/godot/files/12525509/rtlsymbols.zip)
}
		
		if (fd->face->face_flags & FT_FACE_FLAG_MULTIPLE_MASTERS) {
			FT_MM_Var *amaster;
			FT_Get_MM_Var(fd->face, &amaster);
			Vector<hb_variation_t> hb_vars;
			Vector<FT_Fixed> coords;
			coords.resize(amaster->num_axis);
			FT_Get_Var_Design_Coordinates(fd->face, coords.size(), coords.ptrw());
			for (FT_UInt i = 0; i < amaster->num_axis; i++) {
				hb_variation_t var;
				
				var.tag = amaster->axis[i].tag;
				var.value = (double)amaster->axis[i].def / 65536.0;
				coords.write[i] = amaster->axis[i].def;
				if (p_font_data->variation_coordinates.has(var.tag)) {
					var.value = p_font_data->variation_coordinates[var.tag];
					coords.write[i] = CLAMP(var.value * 65536.0, amaster->axis[i].minimum, amaster->axis[i].maximum);
				}
				if (p_font_data->variation_coordinates.has(_tag_to_name(var.tag))) {
					var.value = p_font_data->variation_coordinates[_tag_to_name(var.tag)];
					coords.write[i] = CLAMP(var.value * 65536.0, amaster->axis[i].minimum, amaster->axis[i].maximum);
				}
				hb_vars.push_back(var);
			}
			FT_Set_Var_Design_Coordinates(fd->face, coords.size(), coords.ptrw());
			hb_font_set_variations(fd->hb_handle, hb_vars.is_empty() ? nullptr : &hb_vars[0], hb_vars.size());
			FT_Done_MM_Var(ft_library, amaster);
		}
#else