As a matter of curiosity, I've also tried to name cells with Emoji in KLayout, the application can handle the characters well (which is expected, since Qt can handle anything), but once you save the files, those invalid chars will be converted to $$$$$ and causes mess.
The oasis spec (you might find the draft in web-archives) requires n-strings for cell names.
n-strings must only contain printable ascii (21-7E), which excludes space, tabs and all other control characters and have a length > 0.
Since some databases use cell names as filenames, it's good advice to stick to this.
a-strings are 21-7E with SP(ace) and are used for oasis TEXT.
This causes issues when converting gds to oasis, because some GDS cell libraries contain TEXT with tabs, newlines or even non printing hex codes.
For OASIS the allowed characters are well defined, but for GDS there only exist conventions.
In my experience safe cell names in GDS should be short (<40 characters) and use characters from ASCII letters (lower and upper case, case sensitive), digits and the underscore. "$" is safe to use too. Everything else may or may not cause issues when you send GDS to some foundry or mask maker.
Thanks all for the comment (RawrRanger, StefanThiede and Matthias).
Hi Mattias,
We have an extreme test case with special characters in cellname, such as ";". We created the .txt file and loaded it with klayout. All the characters after ";" are strip off. Is this a known issue for ilayout? Thanks for the comment!
Comments
I mean the cell name part, any special character isn't supported? Thanks!
Hi werk,
Here's some gds cell naming recommendations
https://pubs.opengroup.org/onlinepubs/9629499/apdxa.htm
https://www.artwork.com/gdsii/qis/faq/qis_limits.htm
As a matter of curiosity, I've also tried to name cells with Emoji in KLayout, the application can handle the characters well (which is expected, since Qt can handle anything), but once you save the files, those invalid chars will be converted to $$$$$ and causes mess.
The oasis spec (you might find the draft in web-archives) requires n-strings for cell names.
n-strings must only contain printable ascii (21-7E), which excludes space, tabs and all other control characters and have a length > 0.
Since some databases use cell names as filenames, it's good advice to stick to this.
a-strings are 21-7E with SP(ace) and are used for oasis TEXT.
This causes issues when converting gds to oasis, because some GDS cell libraries contain TEXT with tabs, newlines or even non printing hex codes.
For OASIS the allowed characters are well defined, but for GDS there only exist conventions.
In my experience safe cell names in GDS should be short (<40 characters) and use characters from ASCII letters (lower and upper case, case sensitive), digits and the underscore. "$" is safe to use too. Everything else may or may not cause issues when you send GDS to some foundry or mask maker.
Matthias
Thanks all for the comment (RawrRanger, StefanThiede and Matthias).
Hi Mattias,
We have an extreme test case with special characters in cellname, such as ";". We created the .txt file and loaded it with klayout. All the characters after ";" are strip off. Is this a known issue for ilayout? Thanks for the comment!
p.s., here's the .txt file:
No, that is not a know issue.
";" is apparently intended as a comment character. It is allowed inside text strings and property names, but not inside cell names.
I need to say however, that the text format read is contributed code and I can't say what specification it complies with.
If you think that is a bug, please raise a ticket on GitHub (https://github.com/KLayout/klayout/issues).
Matthias