diff --git a/objects/objects.go b/objects/objects.go index 6160fc7..7346b1b 100644 --- a/objects/objects.go +++ b/objects/objects.go @@ -322,8 +322,8 @@ func (o *objConfig) printToFile(filepath string, p *Printer) error { } func (o *objConfig) getAGoodFileName() string { - // only let alphanumberic, _, -, be put into names - reg := regexp.MustCompile("[^a-zA-Z0-9_-]+") + // This allows any letter or number from any language, plus _, -, and ! + reg := regexp.MustCompile(`[^\p{L}\p{N}_!-]+`) keyname, err := o.tryGetNonEmptyStr("Nickname") if err != nil { diff --git a/objects/objects_test.go b/objects/objects_test.go index ca0b814..aacb3b9 100644 --- a/objects/objects_test.go +++ b/objects/objects_test.go @@ -404,7 +404,14 @@ func TestName(t *testing.T) { "Name": "Card", }, guid: "010509", - want: "OccultInvocation.010509", + want: "OccultInvocation!!!!.010509", + }, { + data: types.J{ + "Nickname": "Verschwörung der Äxte!", + "Name": "Card", + }, + guid: "010511", + want: "VerschwörungderÄxte!.010511", }, { data: types.J{ "Name": "Card",