forceUnicode: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) |
Lou Montana (talk | contribs) m (Some wiki formatting) |
||
(8 intermediate revisions by the same user not shown) | |||
Line 6: | Line 6: | ||
|gr1= Strings | |gr1= Strings | ||
|descr= | |descr= | ||
<div style="float: right"> | |||
List of the commands that work with [[forceUnicode]]: | |||
{{Columns|2| | |||
{{Columns| | |||
* [[copyFromClipboard]] | * [[copyFromClipboard]] | ||
* [[copyToClipboard]] | * [[copyToClipboard]] | ||
Line 26: | Line 24: | ||
* [[regexReplace]] | * [[regexReplace]] | ||
}} | }} | ||
</div> | |||
Sets the Unicode flag which forces some of the string manipulation commands to switch to {{Link|https://en.wikipedia.org/wiki/Unicode}}. | |||
The Unicode flag is always set right after [[forceUnicode]] command execution, but is reset depending on the command mode (see ''{{Link|#Syntax 1|mode}}''). | |||
When the flag is set it will also affect all scopes within the script including child scopes (see [[diag_scope]]). | |||
There are many other string manipulation commands like [[ctrlSetText]], [[getTextWidth]], etc. that support Unicode by design so no additional forcing is needed. | |||
|s1= [[forceUnicode]] mode | |s1= [[forceUnicode]] mode | ||
|p1= mode: [[Number]] - | |p1= mode: [[Number]] - mode of operation, can be: | ||
* -1 - resets previously set Unicode flag | * -1 - resets previously set Unicode flag | ||
* 0 - sets Unicode flag until the end of script | * 0 - sets Unicode flag until the end of script | ||
Line 36: | Line 40: | ||
|r1= [[Anything]] | |r1= [[Anything]] | ||
|x1= < | |x1= <sqf> | ||
copyToClipboard "д"; // copies "д" to clipboard | |||
forceUnicode 1; | |||
copyToClipboard "д"; // copies "д" to clipboard | |||
</sqf> | |||
|x2= < | |x2= <sqf> | ||
private _string = "привет"; // a string that uses Unicode characters | |||
systemChat str count _string; // 12 - the character count is wrong without forceUnicode | |||
call { | |||
systemChat str count _string; // 12 - identical result | |||
forceUnicode 0; | |||
systemChat str count _string; // 6 - correct result | |||
}; | }; | ||
systemChat str count _string; // 6 - outer scope is affected by forceUnicode as well, because the command mode is 0 | |||
forceUnicode -1; // cancelled | |||
call { | |||
systemChat str count _string; // 12 - wrong count | |||
forceUnicode 1; | |||
systemChat str count _string; // 6 - correct result, but Unicode it reset after this operation, because command mode is 1 | |||
}; | }; | ||
systemChat str count _string; // 12 - outer scope is not affected as it was reset right after count | |||
</sqf> | |||
|seealso= [[copyToClipboard]] [[copyFromClipboard]] [[select]] [[count]] | |seealso= [[copyToClipboard]] [[copyFromClipboard]] [[select]] [[count]] [[in]] [[insert]] [[find]] [[splitString]] [[reverse]] | ||
}} | }} |
Latest revision as of 11:43, 30 May 2024
Description
- Description:
List of the commands that work with forceUnicode:
Sets the Unicode flag which forces some of the string manipulation commands to switch to Unicode. The Unicode flag is always set right after forceUnicode command execution, but is reset depending on the command mode (see mode).
When the flag is set it will also affect all scopes within the script including child scopes (see diag_scope).
There are many other string manipulation commands like ctrlSetText, getTextWidth, etc. that support Unicode by design so no additional forcing is needed.- Groups:
- Strings
Syntax
- Syntax:
- forceUnicode mode
- Parameters:
- mode: Number - mode of operation, can be:
- -1 - resets previously set Unicode flag
- 0 - sets Unicode flag until the end of script
- 1 - sets Unicode flag until after next supported command or until the end of script, whichever comes earlier
- Return Value:
- Anything
Examples
- Example 1:
- copyToClipboard "д"; // copies "д" to clipboard forceUnicode 1; copyToClipboard "д"; // copies "д" to clipboard
- Example 2:
- private _string = "привет"; // a string that uses Unicode characters systemChat str count _string; // 12 - the character count is wrong without forceUnicode call { systemChat str count _string; // 12 - identical result forceUnicode 0; systemChat str count _string; // 6 - correct result }; systemChat str count _string; // 6 - outer scope is affected by forceUnicode as well, because the command mode is 0 forceUnicode -1; // cancelled call { systemChat str count _string; // 12 - wrong count forceUnicode 1; systemChat str count _string; // 6 - correct result, but Unicode it reset after this operation, because command mode is 1 }; systemChat str count _string; // 12 - outer scope is not affected as it was reset right after count
Additional Information
Notes
-
Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note