Jump to content
You must now use your email address to sign in [click for more info] ×

Publisher need to correct typographical errors for Chinese.


Recommended Posts

Hello guys, I am starting to use affinity publisher for my work. It is so great app, and I love it. But I am using Chinese and I can't make the typographical errors gone. As shown in the image below.  In chinese language we should not let punctuation in the head of a line. Hope you guys can check it out! Thank you always!64868144_2776650325743608_8090073322995318784_n.png.07e70788ce39ea3bb789e21561724d04.png

Link to comment
Share on other sites

  • 1 month later...
On 7/2/2019 at 10:22 PM, Pauls said:

We currently don't support this so I've moved the topic to feature suggestions

Thank you, guys! Hoping this feature will be available very soon, 'cause if it doesn't support Chinese typo, Publisher can't use here compare to Indesign.

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...
On 8/29/2019 at 10:35 PM, ayan fun said:

这实际上就是一个排版避头尾的规则设定。如果affinity有中文开发人员的话,应该能看懂我说的话。

I suppose there's no Chinese developer in Serif.
But since I and others have kept posting explanation for Asian line breaking rules , they should have understood by now.
I guess they just don't put priority on it since it's only for Asian.

https://en.wikipedia.org/wiki/Line_breaking_rules_in_East_Asian_languages

Link to comment
Share on other sites

  • 3 weeks later...
  • 2 weeks later...
  • 3 months later...
  • 1 month later...
  • 2 weeks later...
  • 1 month later...

I'm running into this and similar issues with a dual-language Japanese/English booklet in Publisher. I'm getting unnecessary large spaces after dakuten and handakuten marks, which are very common (https://en.wikipedia.org/wiki/Dakuten_and_handakuten).

I have to start the project over in InDesign, sadly, as I'm out of time and options. I'd much rather use Publisher!

Screen Shot 2020-04-08 at 1.38.49 PM.png

Link to comment
Share on other sites

3 hours ago, ctrayne said:

I'm running into this and similar issues with a dual-language Japanese/English booklet in Publisher. I'm getting unnecessary large spaces after dakuten and handakuten marks, which are very common (https://en.wikipedia.org/wiki/Dakuten_and_handakuten).

Are you using single characters that's combined with a Hiragana and a Dakuten?
You should not use an independent Dakuten symbol next to a Hiragana character usually.

affinity-dakuten.png

Link to comment
Share on other sites

With APub you can use a character style with the propriety "no break" to keep some pontuation with the previous character, or to keep the following character of some ponctuation with this ponctuation.

That's just a trick, but you can do it easily with Find and replace, or using a shortcut to this style while typing.

2020-04-09_010051.thumb.png.20c66f5f5818052d76f0a611478669e8.png

 

ponctuation.afpub

1.a Search a character—between brackets, you can add more to them—that should stay with the previous one:

([,」。])

1.b Replace with this applying the character style "no_break":

$1 

 

2.a Search a character preceded by the ones between brackets—you can add more to them—that should stay with it:

(?<=[「《])(.) 

2.b Replace with this applying the character style "no_break":

$1

(+character style no_break)

Link to comment
Share on other sites

3 hours ago, Wosven said:

With APub you can use a character style with the propriety "no break" to keep some pontuation with the previous character, or to keep the following character of some ponctuation with this ponctuation.

That's just a trick, but you can do it easily with Find and replace, or using a shortcut to this style while typing.

2020-04-09_010051.thumb.png.20c66f5f5818052d76f0a611478669e8.png

 

ponctuation.afpub

1.a Search a character—between brackets, you can add more to them—that should stay with the previous one:


([,」。])

1.b Replace with this applying the character style "no_break":


$1 

 

2.a Search a character preceded by the ones between brackets—you can add more to them—that should stay with it:


(?<=[「《])(.) 

2.b Replace with this applying the character style "no_break":


$1

(+character style no_break)

Cool! Thanks for sharing the tip. Can be a temporary workaround for small projects I think.

Link to comment
Share on other sites

13 hours ago, Wosven said:

With APub you can use a character style with the propriety "no break" to keep some pontuation with the previous character, or to keep the following character of some ponctuation with this ponctuation.

That's just a trick, but you can do it easily with Find and replace, or using a shortcut to this style while typing.

2020-04-09_010051.thumb.png.20c66f5f5818052d76f0a611478669e8.png

 

ponctuation.afpub

1.a Search a character—between brackets, you can add more to them—that should stay with the previous one:


([,」。])

1.b Replace with this applying the character style "no_break":


$1 

 

2.a Search a character preceded by the ones between brackets—you can add more to them—that should stay with it:


(?<=[「《])(.) 

2.b Replace with this applying the character style "no_break":


$1

(+character style no_break)

sorry I can't understand this method.   replace the  “,” with "$1" ?

 

 

Snipaste_2020-04-09_20-34-38.png

Link to comment
Share on other sites

First, in the search option, you need to check "regular expressions". I didn't mention it, sorry.

2020-04-09_151020.png.17f88a82a9e92e295e0261fa1399115b.png

 

You need to copy the full expression (like in the sample file), and in this expression you only add or replace the red characters.

([,」。])

The parenthesis mean "find and remember the character(s) inside". For example, (a) would only find the character a.
(home) would find the characters home in the same order.
The brackets mean "one of the characters in this list". With [home], it will find either a h, a o, a m or a e.
With [,」。], it will find either a , a or a .

The interesting part with the parenthesis, is that you can have more than one group, and call them in the replace input with numbers.

(a) is a single group you can call using $1

(a)(b) with this, I've got 2 groups, $1 and $2

If I search (a)(b) and only replace by $1, everytime the application will find the character a followed by a character b, it'll replace them by only a.
If I search (a)(b) and only replace by $2, everytime the application will find the character a followed by a character b, it'll replace them by only b.

There's another expression: $0. It means everything that is found. Not usefull in this case.

Link to comment
Share on other sites

Now, about the second expression, more complexe. Keeping the "regular expressions" enabled.

(?<=[「《])(.)

We've got 2 groups of parenthesis.

The second group is simple, the parenthesis only contain a dot, and a single dot . means "any character". It's powerfull!
If you try  searching only . (a single dot), the app will list all the characters of your text one by one. If you search .. (two dots), it'll list you couples of characters, etc.

 

In the first parenthesis, you can reconize the brackets that means again "one of those characters", with the options or.
But at the begining, inside the parenthesis, you've got ?<=, those characters mean: "find the following characters before the next group".

Using this expression, we can have:  (?<=a)(b). It'll search a b preceded by a a. Like in "absolute". It won't count the a as a result, only the b, that's why we use $1 in the replace input.
If I search (?<=absol)(u), it'll find the u in absolute.
If we add brackets, it'll have a list of characters instead of a single one, that's why we use [「《].

 

There are 4 of those options "before" and "after" with  "should be" and "can't be":

  • Positive lookahead (the pattern should be after the element): element(?=pattern)
    a(?=b)
  • Negative lookahead (the pattern can't be after the element): element(?!pattern)
    a(?!b)
  • Positive lookbehind (the pattern should be before the element): (?<=pattern)element
    (?<=a)b
  • Negative lookbehind (the pattern can't be before the element): (?<!pattern)element
    (?<!a)b

 

 

The "no_break" character style is simple: have your cursor out of text (to not get unwanted characteristics) and create a new character style with only the option "no break" checked (last option in Character > Position and Transform).

2020-04-09_154502.png.6a497145863bc935c0a916e94246695c.png

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.