Jump to content

Recommended Posts

Posted

Apologies for the clumsy phrasing, but I don't know a term for what I want to do.

I'm placing a long continuous piece of text (no paragraph breaks) over a series of linked text frames and I want it to be continuous between them, so that if the text reaches the edge of one frame it continues in the next one, even if it's in the middle of a word - i.e. not shifting the whole word over to the next frame, but instead splitting the word between the two text boxes.

Does anyone know how to do this or even if there's a term that would help me search for other how to do this?

Posted

There's no simple support in Publisher for automatically breaking lines in the middle of a word that way, except at hyphenation points. 

I think you could, though, use Find and Replace, with a regular expression, to insert a zero-width space after every character. Then it should flow as you want. 

I'm away from the computer right now, so I can't provide an example.

-- Walt
Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases
PC:
    Desktop:  Windows 11 Pro 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 

    Laptop:  Windows 11 Pro 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU.
    Laptop 2: Windows 11 Pro 24H2,  16GB memory, Snapdragon(R) X Elite - X1E80100 - Qualcomm(R) Oryon(TM) 12 Core CPU 4.01 GHz, Qualcomm(R) Adreno(TM) X1-85 GPU
iPad:  iPad Pro M1, 12.9": iPadOS 18.5, Apple Pencil 2, Magic Keyboard 
Mac:  2023 M2 MacBook Air 15", 16GB memory, macOS Sequoia 15.5

Posted

I've had a chance to play with it, and in theory it should work, but there seem to be some bugs with Find and Replace that mean you can probably only come close. But if you want to play with it, you could try Find and Replace with the Regular Expression option enabled, and these strings: 

Find: (\w)(\w)   (\w)(?=\w)
Replace: $1\x{200B}

(The \x{200B} is a zero width space. The revised Find string finds a word character followed by another word character, using a positive lookahead process.)

I first tried it with just (\w) for the Find, and $1\x{200B} for the Replace, but that had a different set of issues and it was closer using the more complex expression.

-- Walt
Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases
PC:
    Desktop:  Windows 11 Pro 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 

    Laptop:  Windows 11 Pro 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU.
    Laptop 2: Windows 11 Pro 24H2,  16GB memory, Snapdragon(R) X Elite - X1E80100 - Qualcomm(R) Oryon(TM) 12 Core CPU 4.01 GHz, Qualcomm(R) Adreno(TM) X1-85 GPU
iPad:  iPad Pro M1, 12.9": iPadOS 18.5, Apple Pencil 2, Magic Keyboard 
Mac:  2023 M2 MacBook Air 15", 16GB memory, macOS Sequoia 15.5

Posted
1 hour ago, tomlxndr said:

 even if it's in the middle of a word 

Why wo
uld you wa
nt to do someth
ing that wou
ld mak
e the text so h
ard to rea
d?

All 3 1.10.8, & all 3 V2.6 Mac apps; 2020 iMac 27"; 3.8GHz i7, Radeon Pro 5700, 32GB RAM; macOS 10.15.7
A
ll 3 V2 apps for iPad; 6th Generation iPad 32 GB; Apple Pencil; iPadOS 15.7

Posted

Did you want a hyphen in that split word at the end of the frame or no hyphen?

If no hyphen, you'd need to do as Walt suggested. If you want a hyphen, just turn on automatic hyphenation. Go to the Paragraph panel, expand the Hyphenation section, and select "Use auto-hyphenation".

Posted
9 minutes ago, MikeTO said:

If you want a hyphen, just turn on automatic hyphenation.

What about long monosyllabic words like scratched, screeched, scrounged, squelched, straights, strengths, & squirrel's? Would you really want to break them at some arbitrary point?

All 3 1.10.8, & all 3 V2.6 Mac apps; 2020 iMac 27"; 3.8GHz i7, Radeon Pro 5700, 32GB RAM; macOS 10.15.7
A
ll 3 V2 apps for iPad; 6th Generation iPad 32 GB; Apple Pencil; iPadOS 15.7

Posted
10 hours ago, walt.farrell said:

I've had a chance to play with it, and in theory it should work, but there seem to be some bugs with Find and Replace that mean you can probably only come close. But if you want to play with it, you could try Find and Replace with the Regular Expression option enabled, and these strings: 

Find: (\w)(\w)
Replace: $1\x{200B}$2 

(The \x{200B} is a zero width space.)

I first tried it with just (\w) for the Find, and $1\x{200B} for the Replace, but that had a different set of issues and it was closer using the more complex expression.

This is a great idea + thank you for providing the RegEx for me to try. GREP is one of those things I know is really useful, but I never seem to be able to get my head around. It might be vital for me if I'm going to carry on doing silly things like this. Much appreciated. 

Posted
13 hours ago, tomlxndr said:

if the text reaches the edge of one frame it continues in the next one, even if it's in the middle of a word 

It is the default behaviour if a frame width is too narrow for all characters of a word that it gets split into lines without hyphenation. This can be used as a workaround for fully vertical type setting for instance.

Similar to Walt's solution you can turn every space character into a non-breaking space (which will turn the text into kind of a single, veeeery long word). Then the width and height of linked text frames determine the line and frame breaks, for instance:

textflow.jpg.fad178ecbdddaf898fd6d86bbf2fa342.jpg

• MacBookPro Retina 15" |  macOS 10.14.6  | Eizo 27" | Affinity V1  
• iPad 10.Gen.  |  iOS 18.5.  |  Affinity V2.6

Posted

If anyone is interested in the approach using zero-width spaces, I figured out the issues I was having with that approach, and built an improved regular-expression:

Find:  (\w)(?=\w)
Replace: $1\x{200B}

(The \x{200B} is a zero width space. The revised Find string finds a word character followed by another word character, using a positive lookahead process.)

-- Walt
Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases
PC:
    Desktop:  Windows 11 Pro 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 

    Laptop:  Windows 11 Pro 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU.
    Laptop 2: Windows 11 Pro 24H2,  16GB memory, Snapdragon(R) X Elite - X1E80100 - Qualcomm(R) Oryon(TM) 12 Core CPU 4.01 GHz, Qualcomm(R) Adreno(TM) X1-85 GPU
iPad:  iPad Pro M1, 12.9": iPadOS 18.5, Apple Pencil 2, Magic Keyboard 
Mac:  2023 M2 MacBook Air 15", 16GB memory, macOS Sequoia 15.5

Posted
16 hours ago, walt.farrell said:

to insert a zero-width space after every character.

49 minutes ago, walt.farrell said:

If anyone is interested in the approach using zero-width spaces,

I am interested to understand first rather than using it. Adding multiple additional characters appears as a complex change to the entire text in my eyes. Do you see an advantage in the solution with additional spaces towards the method to modify existing spaces only (apart from @lacerto's notes)?

• MacBookPro Retina 15" |  macOS 10.14.6  | Eizo 27" | Affinity V1  
• iPad 10.Gen.  |  iOS 18.5.  |  Affinity V2.6

Posted
23 hours ago, thomaso said:

Adding multiple additional characters appears as a complex change to the entire text in my eyes. Do you see an advantage in the solution with additional spaces towards the method to modify existing spaces only (apart from @lacerto's notes)?

Both my suggestion and yours are changes to the entire text, but mine is clearly a more substantial change than yours and yours is simpler to implement.

I had never noticed that if there is no line break possible on a line, the text will simply reflow at the edge of the frame anyway. So, thanks for that.

-- Walt
Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases
PC:
    Desktop:  Windows 11 Pro 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 

    Laptop:  Windows 11 Pro 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU.
    Laptop 2: Windows 11 Pro 24H2,  16GB memory, Snapdragon(R) X Elite - X1E80100 - Qualcomm(R) Oryon(TM) 12 Core CPU 4.01 GHz, Qualcomm(R) Adreno(TM) X1-85 GPU
iPad:  iPad Pro M1, 12.9": iPadOS 18.5, Apple Pencil 2, Magic Keyboard 
Mac:  2023 M2 MacBook Air 15", 16GB memory, macOS Sequoia 15.5

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.