Weird issue with syntax highlighing file export
-
@Karsten75 said:
I’d really like to get to the bottom of this.
It’s been about 5 hours since your initial post. This is just a community help forum, where fellow users of Notepad++ come by, as they have time, to answer the questions where they have the expertise or experience necessary to help. Until someone comes along who has a good idea what’s going on, or has time to experiment with your problem, you may have to be patient.
Personally, I’ve never seen the fontName attribute go all encoded like that in my UDL settings.
췰᧸ǂ
I am checking a unicode table. U+CDF0 is … hmm, one resource says it’s not valid, but the windows charmap says it’s a Hangul Syllable
췰
. U+19F8 is a Khmer symbol᧸
. U+01C2 appears to be a symbol for an ALVEOLAR CLICKǂ
.yeah, looks like something got corrupted for you.
No, I don’t know how it happened, as I’ve never seen junk show up in the fontName. The random guess that comes to mind would be that you used to have a font in those slots, but that font was deleted from your system. Other than that, sorry.
It should be safe to delete all those entries in your UDL file(s). Once you do that (remove clear those elements, save, exit notepad++ altogether, reload notepad++), do they stay clean, or do they get corrupted again? If you make a backup of your
userDefineLang.xml
and any.xml
inuserDefineLangs\
folder, and delete them, and create a brand-new, simple UDL, does it behave reasonably, or does it get corrupted. Do you have an exact sequence of events that you can describe (“create new UDL, set X, set Y, save, open the UDL file”) to see if we can re-create your issue?Also, when answering those questsions, please also paste what you grab from the ? menu, Debug Info > Copy debug info into clipboard.
-
I’m sorry, you’re right. I was probably excessively impatient.
It’s just that I’ve been battling this since last week already. I’ve clean-uninstalled N++ a few times, and those characters seem persistent and consistent, without apparent effects, except that I have to explicitly specify an override font in several locations.
I’ll go back and do a bit better Problems Source Identification and see if, at least on my system, I can create a consistent scenario.
-
So, a new start, and hopefully a fully/better documented post on the “corrupted” syntax highlighting file.
- I uninstalled N++ and chose the option to remove user data.
Execute: regsvr32 /u /s "C:\Program Files\Notepad++\NppShell_01.dll" Execute: regsvr32 /u /s "C:\Program Files\Notepad++\NppShell_02.dll" Execute: regsvr32 /u /s "C:\Program Files\Notepad++\NppShell_03.dll" Execute: regsvr32 /u /s "C:\Program Files\Notepad++\NppShell_04.dll" Execute: regsvr32 /u /s "C:\Program Files\Notepad++\NppShell_05.dll" Execute: regsvr32 /u /s "C:\Program Files\Notepad++\NppShell_06.dll" Delete file: C:\Program Files\Notepad++\uninstall.exe Delete file: C:\Users\Public\Desktop\Notepad++.lnk Delete file: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Notepad++.lnk Delete file: C:\Program Files\Notepad++\SciLexer.dll Delete file: C:\Program Files\Notepad++\change.log Delete file: C:\Program Files\Notepad++\LICENSE Delete file: C:\Program Files\Notepad++\notepad++.exe Delete file: C:\Program Files\Notepad++\readme.txt Delete file: C:\Program Files\Notepad++\contextMenu.xml Delete file: C:\Program Files\Notepad++\shortcuts.xml Delete file: C:\Program Files\Notepad++\functionList.xml Delete file: C:\Program Files\Notepad++\langs.model.xml Delete file: C:\Program Files\Notepad++\stylers.model.xml Delete file: C:\Program Files\Notepad++\localization\english.xml Remove folder: C:\Program Files\Notepad++\localization\ Delete file: C:\Program Files\Notepad++\autoCompletion\php.xml Delete file: C:\Program Files\Notepad++\autoCompletion\css.xml Delete file: C:\Program Files\Notepad++\autoCompletion\html.xml Delete file: C:\Program Files\Notepad++\autoCompletion\sql.xml Delete file: C:\Program Files\Notepad++\autoCompletion\rc.xml Delete file: C:\Program Files\Notepad++\autoCompletion\vb.xml Delete file: C:\Program Files\Notepad++\autoCompletion\perl.xml Delete file: C:\Program Files\Notepad++\autoCompletion\c.xml Delete file: C:\Program Files\Notepad++\autoCompletion\cpp.xml Delete file: C:\Program Files\Notepad++\autoCompletion\java.xml Delete file: C:\Program Files\Notepad++\autoCompletion\cs.xml Delete file: C:\Program Files\Notepad++\autoCompletion\javascript.xml Delete file: C:\Program Files\Notepad++\autoCompletion\python.xml Delete file: C:\Program Files\Notepad++\autoCompletion\actionscript.xml Delete file: C:\Program Files\Notepad++\autoCompletion\lisp.xml Delete file: C:\Program Files\Notepad++\autoCompletion\vhdl.xml Delete file: C:\Program Files\Notepad++\autoCompletion\tex.xml Delete file: C:\Program Files\Notepad++\autoCompletion\xml.xml Delete file: C:\Program Files\Notepad++\autoCompletion\nsis.xml Delete file: C:\Program Files\Notepad++\autoCompletion\cmake.xml Delete file: C:\Program Files\Notepad++\autoCompletion\batch.xml Delete file: C:\Program Files\Notepad++\autoCompletion\coffee.xml Delete file: C:\Program Files\Notepad++\autoCompletion\BaanC.xml Delete file: C:\Program Files\Notepad++\autoCompletion\lua.xml Delete file: C:\Program Files\Notepad++\autoCompletion\autoit.xml Delete file: C:\Program Files\Notepad++\plugins\NppConverter\NppConverter.dll Remove folder: C:\Program Files\Notepad++\plugins\NppConverter\ Delete file: C:\Program Files\Notepad++\plugins\mimeTools\mimeTools.dll Remove folder: C:\Program Files\Notepad++\plugins\mimeTools\ Delete file: C:\Program Files\Notepad++\plugins\Config\nppPluginList.dll Remove folder: C:\Program Files\Notepad++\plugins\Config\ Delete file: C:\Program Files\Notepad++\updater\GUP.exe Delete file: C:\Program Files\Notepad++\updater\libcurl.dll Delete file: C:\Program Files\Notepad++\updater\gup.xml Delete file: C:\Program Files\Notepad++\updater\LICENSE Delete file: C:\Program Files\Notepad++\updater\README.md Remove folder: C:\Program Files\Notepad++\updater\ Completed
- For completeness’ sake, I downloaded a new installer from here:
https://notepad-plus-plus.org/download/v7.6.6.html
(took me 5 edits to get this right (no-one can say I don’t mess up)
- Chose “English” as my language, and took the default install location in Program Files.
(only 3 edits this time)
Default options and shortcut on desktop.
(got it right with 1 edit - I’m learning fast).Couldn’t copy install details, that went by too fast.
- I"m in business with a (hopefully clean) N++
(got it right first time).
- Debug info
Notepad++ v7.6.6 (64-bit) Build time : Apr 3 2019 - 23:52:32 Path : C:\Program Files\Notepad++\notepad++.exe Admin mode : OFF Local Conf mode : OFF OS : Windows 10 (64-bit) Plugins : mimeTools.dll NppConverter.dll
I will continue the rest in a follow-on post, I’m worried about length of posts, etc.
-
So much for a clean install, note the
xRPL
entry under User-Defined Languages.[expletive deleted. This had not happened the previous few times.
Guess I’ll re-attempt the steps, maybe throw in a reboot, and a ritual involving a boiling cauldron in a pentagram with black candles…
-
So, last night, when attempting to post the rest of my exploration, I fell into formatting hell, and eventually just gave up. The long and the short of it was I could create a UDL foth a font name, and export it beautifully. When I tried to import he same UDL XML, and looked at the fonts, there was no entry in the font name, and when I re-exported the UDL, the font name was corrupted.
My next step is going to be an attempt to uninstall and install the 32-bit N++ to see if my results are different.
As a test, I made up a new UDL, small and clean.
UDL “smol” defined, and exported
<NotepadPlus> <UserLang name="smol" ext="smol" udlVersion="2.1"> <Settings> <Global caseIgnored="yes" allowFoldOfComments="no" foldCompact="no" forcePureLC="0" decimalSeparator="0" /> <Prefix Keywords1="no" Keywords2="no" Keywords3="no" Keywords4="no" Keywords5="no" Keywords6="no" Keywords7="no" Keywords8="no" /> </Settings> <KeywordLists> <Keywords name="Comments">00# 01 02 03 04</Keywords> <Keywords name="Numbers, prefix1"></Keywords> <Keywords name="Numbers, prefix2"></Keywords> <Keywords name="Numbers, extras1"></Keywords> <Keywords name="Numbers, extras2"></Keywords> <Keywords name="Numbers, suffix1"></Keywords> <Keywords name="Numbers, suffix2"></Keywords> <Keywords name="Numbers, range"></Keywords> <Keywords name="Operators1">-> <- [ ] ( ) { } </Keywords> <Keywords name="Operators2">and or xor not</Keywords> <Keywords name="Folders in code1, open">Do While Once</Keywords> <Keywords name="Folders in code1, middle">Else</Keywords> <Keywords name="Folders in code1, close">Loop endwhile endonce</Keywords> <Keywords name="Folders in code2, open"></Keywords> <Keywords name="Folders in code2, middle"></Keywords> <Keywords name="Folders in code2, close"></Keywords> <Keywords name="Folders in comment, open"></Keywords> <Keywords name="Folders in comment, middle"></Keywords> <Keywords name="Folders in comment, close"></Keywords> <Keywords name="Keywords1">add sub mul div</Keywords> <Keywords name="Keywords2">Pi Tau I J K Distance cos Atan Log10</Keywords> <Keywords name="Keywords3"></Keywords> <Keywords name="Keywords4"></Keywords> <Keywords name="Keywords5"></Keywords> <Keywords name="Keywords6"></Keywords> <Keywords name="Keywords7"></Keywords> <Keywords name="Keywords8"></Keywords> <Keywords name="Delimiters"></Keywords> </KeywordLists> <Styles> <WordsStyle name="DEFAULT" fgColor="000000" bgColor="FFFFFF" fontName="Calibri" fontStyle="0" nesting="0" /> <WordsStyle name="COMMENTS" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="LINE COMMENTS" fgColor="008000" bgColor="FFFFFF" fontStyle="2" nesting="0" /> <WordsStyle name="NUMBERS" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="KEYWORDS1" fgColor="FF8080" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="KEYWORDS2" fgColor="FF8080" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="KEYWORDS3" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="KEYWORDS4" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="KEYWORDS5" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="KEYWORDS6" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="KEYWORDS7" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="KEYWORDS8" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="OPERATORS" fgColor="0080C0" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="FOLDER IN CODE1" fgColor="808040" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="FOLDER IN CODE2" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="FOLDER IN COMMENT" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="DELIMITERS1" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="DELIMITERS2" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="DELIMITERS3" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="DELIMITERS4" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="DELIMITERS5" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="DELIMITERS6" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="DELIMITERS7" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="DELIMITERS8" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" /> </Styles> </UserLang> </NotepadPlus>
UDL "smol’ imported, ,then looked in Default Style to see if font name was preserved, then exported same UDL. Now it’s corrupted.
<NotepadPlus> <UserLang name="smol" ext="smol" udlVersion="2.1"> <Settings> <Global caseIgnored="yes" allowFoldOfComments="no" foldCompact="no" forcePureLC="0" decimalSeparator="0" /> <Prefix Keywords1="no" Keywords2="no" Keywords3="no" Keywords4="no" Keywords5="no" Keywords6="no" Keywords7="no" Keywords8="no" /> </Settings> <KeywordLists> <Keywords name="Comments">00# 01 02 03 04</Keywords> <Keywords name="Numbers, prefix1"></Keywords> <Keywords name="Numbers, prefix2"></Keywords> <Keywords name="Numbers, extras1"></Keywords> <Keywords name="Numbers, extras2"></Keywords> <Keywords name="Numbers, suffix1"></Keywords> <Keywords name="Numbers, suffix2"></Keywords> <Keywords name="Numbers, range"></Keywords> <Keywords name="Operators1">-> <- [ ] ( ) { }</Keywords> <Keywords name="Operators2">and or xor not</Keywords> <Keywords name="Folders in code1, open">Do While Once</Keywords> <Keywords name="Folders in code1, middle">Else</Keywords> <Keywords name="Folders in code1, close">Loop endwhile endonce</Keywords> <Keywords name="Folders in code2, open"></Keywords> <Keywords name="Folders in code2, middle"></Keywords> <Keywords name="Folders in code2, close"></Keywords> <Keywords name="Folders in comment, open"></Keywords> <Keywords name="Folders in comment, middle"></Keywords> <Keywords name="Folders in comment, close"></Keywords> <Keywords name="Keywords1">add sub mul div</Keywords> <Keywords name="Keywords2">Pi Tau I J K Distance cos Atan Log10</Keywords> <Keywords name="Keywords3"></Keywords> <Keywords name="Keywords4"></Keywords> <Keywords name="Keywords5"></Keywords> <Keywords name="Keywords6"></Keywords> <Keywords name="Keywords7"></Keywords> <Keywords name="Keywords8"></Keywords> <Keywords name="Delimiters"></Keywords> </KeywordLists> <Styles> <WordsStyle name="DEFAULT" fgColor="000000" bgColor="FFFFFF" fontName=")ā(" fontStyle="0" nesting="0" /> <WordsStyle name="COMMENTS" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="LINE COMMENTS" fgColor="008000" bgColor="FFFFFF" fontStyle="2" nesting="0" /> <WordsStyle name="NUMBERS" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="KEYWORDS1" fgColor="FF8080" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="KEYWORDS2" fgColor="FF8080" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="KEYWORDS3" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="KEYWORDS4" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="KEYWORDS5" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="KEYWORDS6" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="KEYWORDS7" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="KEYWORDS8" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="OPERATORS" fgColor="0080C0" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="FOLDER IN CODE1" fgColor="808040" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="FOLDER IN CODE2" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="FOLDER IN COMMENT" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="DELIMITERS1" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="DELIMITERS2" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="DELIMITERS3" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="DELIMITERS4" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="DELIMITERS5" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="DELIMITERS6" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="DELIMITERS7" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" /> <WordsStyle name="DELIMITERS8" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" /> </Styles> </UserLang> </NotepadPlus>
-
I’m sorry for posting a lot, but I find I mess up if I put too many things in the same post.
What I’m concerned about is where, in the list of available fonts, the fonts with the @-prefix comes from. I don’t see them in Windows’ Font Preview in System Settings.
Also N++ debug info, in case it got lost in the flurry of posts:
Notepad++ v7.6.6 (64-bit) Build time : Apr 3 2019 - 23:52:32 Path : C:\Program Files\Notepad++\notepad++.exe Admin mode : OFF Local Conf mode : OFF OS : Windows 10 (64-bit) Plugins : mimeTools.dll NppConverter.dll
-
Thanks for all the details, including example UDL. That makes it much easier to check on your bug.
As a brief aside, you asked where the
fonts with the @-prefix comes from
I did a quick online search, and found that per SuperUser#568150 and MS DevBlogs from 2012, it apparently indicates vertical-oriented varients of existing fonts. I don’t think that’s your problem: it’s quite normal.
Back to your issue:
UDL "smol’ imported, ,then looked in Default Style to see if font name was preserved, then exported same UDL. Now it’s corrupted.
My Experiment #1:
- unzip a fresh 7.6.6 64-bit into …\npp.7.6.6.bin.x64\
- save your example as …\npp.7.6.6.bin.x64\userDefineLangs\smol.xml
- run that edition of Notepad++, and see the ‘smol’ in the list of user defined languages
- export the UDL to exportSmol.xml (somewhere)
- run a compare on smol.xml and exportSmol.xml: the only difference was that exportSmol.xml had a bunch of
fontName=""
, whereas the source didn’t have those tags at all (except for the onefontName="Calibri"
)
That one worked the way I expected.
Experiment #2:
-
close notepad++
-
delete …\npp.7.6.6.bin.x64\userDefineLangs\smol.xml
-
save your original example to importSmol.xml
-
run that edition of Notepad++, do Language > Define your language: no ‘smol’ yet.
-
import…, pick importSmol.xml, and now smol shows up in the UDL list.
-
exit Notepad++l, and re-run that edition of Notepad++. ‘smol’ still in the UDL list
-
Look at
...\npp.7.6.6.bin.x64\userDefineLang.xml
: it has smol, but as @Karsten75 described, thefontName="..."
settings are corrupted:<WordsStyle name="DEFAULT" fgColor="000000" bgColor="FFFFFF" fontName="ꇠȏ" fontStyle="0" nesting="0" /> <WordsStyle name="COMMENTS" fgColor="000000" bgColor="FFFFFF" fontName="-1" fontStyle="0" nesting="0" /> <WordsStyle name="LINE COMMENTS" fgColor="008000" bgColor="FFFFFF" fontName="Backup" fontStyle="2" nesting="0" /> <WordsStyle name="NUMBERS" fgColor="000000" bgColor="FFFFFF" fontName="0" fontStyle="0" nesting="0" /> <WordsStyle name="KEYWORDS1" fgColor="FF8080" bgColor="FFFFFF" fontName="no" fontStyle="0" nesting="0" /> <WordsStyle name="KEYWORDS2" fgColor="FF8080" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> <WordsStyle name="KEYWORDS3" fgColor="000000" bgColor="FFFFFF" fontName="no" fontStyle="0" nesting="0" /> <WordsStyle name="KEYWORDS4" fgColor="000000" bgColor="FFFFFF" fontName="MRU" fontStyle="0" nesting="0" />
That one seems to confirm your bug with the UDL import procedure. UDL import does have a bug.
-
I just created issue #5630. Looking through the issues, I indicated it may have been a duplicate of issue #5501, which @Meta-Chuh had closed as not reproducible – if it is the same, I now have a way of reproducing it.
-
Hi guys, I can confirm that this issue does not occur with N++ 7.6. Tested with that and all works great. So I’m off to my normal life again. Thanks for everything. :)
-
@Karsten75 said:
this issue does not occur with N++ 7.6
Thanks for the extra data point. However, I would recommend against the original 7.6 (no sub-version) for a long-term solution. It had some pretty major bugs in it. v7.6.3 is the first of the 7.6.x series that was reasonably stable; I’d recommend using that one for now (assuming the bug isn’t present there). (I would normally have suggested 7.6.4, but that’s where the multiple UDL files were introduced, and I’m sure it was that feature that accidentally messed up the UDL import.)