[scribus-dev] keyboard shortcuts

Gregory Pittman gpittman at iglou.com
Thu Dec 8 16:15:56 UTC 2016


On 12/08/2016 10:40 AM, Gregory Pittman wrote:
> There is something very wrong with setting keyboard shortcuts in
> Preferences.
> Once you start to Load or Import keysets, you have this horrible
> repetitive list, and there doesn't seem to be any way to clear it out or
> compact it.
> Reset doesn't do anything that I can tell.
> 
> I wanted to create a shortcut for Zero Width Nonbreaking Space (ZWNBS), but even
> though its in 3 out of 4 keyset files, it never shows up in the list.
> 
> Is there some other place where this mish-mash file is saved?
> 

Ok, I found it (I think) in scribus150.rc. I edited this file, adding a
shortcut for ZWNBS. It still didn't appear in the shortcut list, and
also doesn't work. On the other hand, inserting the unicode character
2060 does work, so it seems either internally Scribus may be using the
deprecated U+FEFF, or it's ignoring this.

Nuking the shortcut section seems to clean it up, though still when you
open Scribus, there is no choice for ZWNBS, even though, once again when
I close Scribus, there it is in the rc file.

Maybe this is pertinent. In specialchars.cpp there is this section:

bool SpecialChars::isIgnorableCodePoint(uint ch)
{
	// based on list of Default_Ignorable_Code_Point in Unicode 9
	if ( (ch == 0x00AD)					  || //SOFT HYPHEN
		 (ch == 0x034F)					  || //COMBINING GRAPHEME JOINER
		 (ch == 0x061C)					  || //ARABIC LETTER MARK
		 (ch == 0x115F) || (ch == 0x1160) || //HANGUL CHOSEONG FILLER..HANGUL
JUNGSEONG FILLER
		 (ch == 0x17B4) || (ch == 0x17B5) || //KHMER VOWEL INHERENT AQ..KHMER
VOWEL INHERENT AA
		 (ch >= 0x180B && ch <= 0x180D)	  || //MONGOLIAN FREE VARIATION
SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE
		 (ch == 0x180E)					  || // MONGOLIAN VOWEL SEPARATOR
		 (ch >= 0x200B && ch <= 0x200F)   || //ZERO WIDTH SPACE..RIGHT-TO-LEFT
MARK
		 (ch >= 0x202A && ch <= 0x202E)   || //LEFT-TO-RIGHT
EMBEDDING..RIGHT-TO-LEFT OVERRIDE
		 (ch >= 0x2060 && ch <= 0x2064)   || //WORD JOINER..INVISIBLE PLUS
		 (ch >= 0x2066 && ch <= 0x206F)   || //LEFT-TO-RIGHT ISOLATE..NOMINAL
DIGIT SHAPES
		 (ch == 0x3164)					  || //HANGUL FILLER
		 (ch >= 0xFE00 && ch <= 0xFE0F)   || //VARIATION SELECTOR-1..VARIATION
SELECTOR-16
		 (ch == 0xFEFF)					  || //ZERO WIDTH NO-BREAK SPACE
		 (ch == 0xFFA0)					  || //HALFWIDTH HANGUL FILLER
		 (ch >= 0x1BCA0 && ch <= 0x1BCA3) || //SHORTHAND FORMAT LETTER
OVERLAP..SHORTHAND FORMAT UP STEP
		 (ch >= 0x1D173 && ch <= 0x1D17A) || //MUSICAL SYMBOL BEGIN
BEAM..MUSICAL SYMBOL END PHRASE
		 (ch == 0xE0001)					 //LANGUAGE TAG
			)

Maybe there is still some connection between ZWNBS in the rc file and
the old 0xFEFF? Entering 0x2060 as a unicode character does work.

Greg



More information about the scribus-dev mailing list