From dd32401004c14c1880f1171fc913ee9dd8a81d8a Mon Sep 17 00:00:00 2001 From: Alexander Voigt Date: Sat, 3 Sep 2016 00:37:20 +0200 Subject: [PATCH] ensure 4 characters wide unicode symbols --- meta/FSMathLink.m | 2 +- meta/Utils.m | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/meta/FSMathLink.m b/meta/FSMathLink.m index fdd00e09f..8a02964e1 100644 --- a/meta/FSMathLink.m +++ b/meta/FSMathLink.m @@ -134,7 +134,7 @@ ]; ToUTF8String[s_] := - StringJoin[("\\u0" <> IntegerString[#,16])& /@ ToCharacterCode[ToString[s]]]; + StringJoin[("\\u" <> Utils`FSStringPadLeft[IntegerString[#,16], 4, "0"])& /@ ToCharacterCode[ToString[s]]]; ToVaildWolframSymbolString[par_?CConversion`GreekQ] := ToUTF8String[par]; ToVaildWolframSymbolString[par_] := ToString[par]; diff --git a/meta/Utils.m b/meta/Utils.m index 8f21edfeb..0936894cd 100644 --- a/meta/Utils.m +++ b/meta/Utils.m @@ -84,6 +84,8 @@ occurrence of the given rule is replaced (if it exists) or added (if FSImportString::usage = "Returns the content of a file in form of a string. If the file does not exist, \"unknown\" is returned."; +FSStringPadLeft::usage = "StringPadLeft[] for Mathematica 9 and below."; + Begin["`Private`"]; ApplyAndConcatenate[Func_, l_List] := @@ -152,6 +154,9 @@ occurrence of the given rule is replaced (if it exists) or added (if ] ]; +FSStringPadLeft[str_String, width_, pad_String] := + StringJoin[PadLeft[Characters[str], width, pad]]; + ForceJoin[elem___] := Join[Sequence @@ Select[{elem}, (Head[#] === List)&]];