Pyanepsion Posted February 5, 2023 Share Posted February 5, 2023 (edited) Hello everyone, I would like to create a Regex routine that replaces the offending spaces with a narrow no-break space <nbsp> (U+202F) in one pass in one routine instead of two. Routine 1. Replace all erroneous spaces before colon (:), right-pointing double angle quotation mark (»), percent sign (%) with a narrow no-break space Search for: \s(?=(:|»|%)) Replacement: <nnbsp> Routine 2. Replace erroneous spaces after left-pointing double angle quotation mark («) with a narrow no-break space <NNBSP> (U+202F). Search for: («)\s Replacement: \1<nnbsp> Is this possible? Is it possible to insert a unicode value into Regex formulas such as \u+202f, or to indicate a variable such as <nnbsp> that appears in the occurrence display? Or, is it necessary to paste a narrow non-breaking space <nnbsp> (obtained by U+202F from the text)? Thank you for your explanations. regex.afpub Edited February 6, 2023 by Pyanepsion Correction of the English translation name error on («) and (»). Quote 6 cœurs, 12 processus - Windows 11 pro - 4K - DirectX 12 - Suite universelle Affinity (Affinity Publisher, Affinity Designer, Affinity Photo). ███ Mais je vous le demande, peut-on imaginer une police sans sérifs ? Link to comment Share on other sites More sharing options...
walt.farrell Posted February 5, 2023 Share Posted February 5, 2023 2 hours ago, Pyanepsion said: left-pointing double angle quotation mark (») I would quibble that that is a right-pointing mark (though perhaps it appears at the left of a string that is quoted?) Similarly comment for your other mark, which "points" left. But that's not relevant to the question. There are very few regular-expression implementations that are documented as supporting conditional processing in the replacement value, and Boost (used in Publisher) is not one of them. So I don't think you can do what you want, but I can't try it to confirm until later. Quote -- Walt Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases PC: Desktop: Windows 11 Pro, version 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 Laptop: Windows 11 Pro, version 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU. iPad: iPad Pro M1, 12.9": iPadOS 17.4.1, Apple Pencil 2, Magic Keyboard Mac: 2023 M2 MacBook Air 15", 16GB memory, macOS Sonoma 14.4.1 Link to comment Share on other sites More sharing options...
Pyanepsion Posted February 6, 2023 Author Share Posted February 6, 2023 19 hours ago, walt.farrell said: I would quibble that that is a right-pointing mark (though perhaps it appears at the left of a string that is quoted?) Yes, I had reversed the names of left-pointing double angle quotation mark («) and right-pointing double angle quotation mark (») in the English translation. That is corrected. The important thing here is: either to find a solution for the points raised in search and replace: combine several Regex actions into one, use \u+ for Unicode variables such as \u+202f, use variables for constants such as <nnbsp>, be able to save and load Regex scripts). or suggest features to improve the use of Regex in the Affinity suite. laurent32 1 Quote 6 cœurs, 12 processus - Windows 11 pro - 4K - DirectX 12 - Suite universelle Affinity (Affinity Publisher, Affinity Designer, Affinity Photo). ███ Mais je vous le demande, peut-on imaginer une police sans sérifs ? Link to comment Share on other sites More sharing options...
laurent32 Posted February 6, 2023 Share Posted February 6, 2023 23 hours ago, Pyanepsion said: Search for: \s(?=(:|»|%)) Replacement: <nnbsp> I'm not a regex genius but I try to understand what I read… Shouldn't we have <nnbsp>\1 ? or is it implicit ? Quote MacBook Pro 16 pouces (3456 × 2234), 2021 / Apple M1 Pro / 16 Go / macOS Ventura Version 13.4.1 (22F82) + 31,5 pouces (2560 × 1440) + 27 pouces (1080 × 1920) + iPad (8th generation) / iPadOS 17.2 + Apple Pencil + … Macmini6,2 Quad-Core Intel Core i7 16 Go / macOS Catalina version 10.15.7 (19H2026) MacBookAir6,2 Intel Core i5 double cœur 4 Go / macOS Big Sur version 11.7.7 (20G1345) Licence Universelle Affinity V2 updated to 2.3.0 Link to comment Share on other sites More sharing options...
Andreas CH Posted February 6, 2023 Share Posted February 6, 2023 (edited) Hier der Ausdruck für das linke Guillemet (?<=«)\s und hier der Ausdruck für alle Zeichen \s(?=(:|»|%))|(?<=«)\s Leider kann man das <NNBSP> nur aus dem Layout in das Ersetzen kopieren. 😞 Edited February 6, 2023 by Andreas CH Quote Link to comment Share on other sites More sharing options...
Pyanepsion Posted February 6, 2023 Author Share Posted February 6, 2023 @laurent32, Here is a step-by-step explanation to help understand this regex formula. Search for: \s(?=(:|»|%)) Replacement: <nnbsp> The regex formula is used to search and replace characters in a text string. Here is a step-by-step explanation of this formula: Search for: \s stands for ‘space’. It looks for a space in the text. (?=(:|"|%)) is a ‘positive look ahead’. It looks at what follows the space and checks if it is one of the characters (:), (;), (%). If a space is found and the following characters match one of the specified characters, the replacement of this space will be performed. Replacement: <nnbsp> defines the replacement that will be performed. In this case, the space will be replaced with the character ‘narrow no-break space’ (<nnbsp>). End result: The sentence ‘Il lui dit : « je sais. C’est 15 %. ».’ will be changed to ‘Il lui dit<nnbsp>: « je sais. C’est 15<nnbsp>%.<nnbsp>».’. laurent32 1 Quote 6 cœurs, 12 processus - Windows 11 pro - 4K - DirectX 12 - Suite universelle Affinity (Affinity Publisher, Affinity Designer, Affinity Photo). ███ Mais je vous le demande, peut-on imaginer une police sans sérifs ? Link to comment Share on other sites More sharing options...
Alfred Posted February 6, 2023 Share Posted February 6, 2023 21 minutes ago, Pyanepsion said: (?=(:|"|%)) is a ‘positive look ahead’. It looks at what follows the space and checks if it is one of the characters (:), (;), (%). For the sake of clarity, I believe you meant to type: Quote (?=(:|»|%)) is a ‘positive look ahead’. It looks at what follows the space and checks if it is one of the characters (:), (»), (%). laurent32 1 Quote Alfred Affinity Designer/Photo/Publisher 2 for Windows • Windows 10 Home/Pro Affinity Designer/Photo/Publisher 2 for iPad • iPadOS 17.4.1 (iPad 7th gen) Link to comment Share on other sites More sharing options...
laurent32 Posted February 6, 2023 Share Posted February 6, 2023 1 hour ago, laurent32 said: Shouldn't we have <nnbsp>\1 ? or is it implicit ? My question here was : Since we use parentheses… \s(?=(:|»|%)) Shouldn't we have <nnbsp>\1 for the replace part ? I thought \1 referred to what is between () ? But, maybe because we have only one () we don't need to say \1 ? Quote MacBook Pro 16 pouces (3456 × 2234), 2021 / Apple M1 Pro / 16 Go / macOS Ventura Version 13.4.1 (22F82) + 31,5 pouces (2560 × 1440) + 27 pouces (1080 × 1920) + iPad (8th generation) / iPadOS 17.2 + Apple Pencil + … Macmini6,2 Quad-Core Intel Core i7 16 Go / macOS Catalina version 10.15.7 (19H2026) MacBookAir6,2 Intel Core i5 double cœur 4 Go / macOS Big Sur version 11.7.7 (20G1345) Licence Universelle Affinity V2 updated to 2.3.0 Link to comment Share on other sites More sharing options...
laurent32 Posted February 6, 2023 Share Posted February 6, 2023 43 minutes ago, Andreas CH said: \s(?=(:|»|%))|(?<=«)\s That seems quite interesting… like having an "or" between 2 lookups… Looks like what you're looking for @Pyanepsion ? Quote MacBook Pro 16 pouces (3456 × 2234), 2021 / Apple M1 Pro / 16 Go / macOS Ventura Version 13.4.1 (22F82) + 31,5 pouces (2560 × 1440) + 27 pouces (1080 × 1920) + iPad (8th generation) / iPadOS 17.2 + Apple Pencil + … Macmini6,2 Quad-Core Intel Core i7 16 Go / macOS Catalina version 10.15.7 (19H2026) MacBookAir6,2 Intel Core i5 double cœur 4 Go / macOS Big Sur version 11.7.7 (20G1345) Licence Universelle Affinity V2 updated to 2.3.0 Link to comment Share on other sites More sharing options...
walt.farrell Posted February 6, 2023 Share Posted February 6, 2023 49 minutes ago, laurent32 said: Shouldn't we have <nnbsp>\1 for the replace part ? No, as this particular use of () does not indicate a capture group. It indicates, because of the added the ?=, that it is instead a positive look-ahead group. You would only use a replacement like \1 with a capture group. laurent32 and Pyanepsion 1 1 Quote -- Walt Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases PC: Desktop: Windows 11 Pro, version 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 Laptop: Windows 11 Pro, version 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU. iPad: iPad Pro M1, 12.9": iPadOS 17.4.1, Apple Pencil 2, Magic Keyboard Mac: 2023 M2 MacBook Air 15", 16GB memory, macOS Sonoma 14.4.1 Link to comment Share on other sites More sharing options...
walt.farrell Posted February 6, 2023 Share Posted February 6, 2023 (edited) @Pyanepsion's request for a union of the two expressions can be accomplished, in some regular expression engines. It requires that they support a replacement function called conditional replacement, in which the replacement string can handle a kind of if-then-else processing. If conditional replacement is supported, the syntax is different for it among the different engines, so I can't show a definite syntax for it. But in one possible form it looks something like: ?1true:false In that replacement syntax: ?1 signifies a conditional replacement, to be applied based on whether the search/match process set capture group #1. The "true" text is the replacement if capture group 1 was set. The : separates the true/false values the "false" text is the replacement if capture group 1 was not set. Thus, you can have a search like (y)|n and a replacement like ?\1yes:no and if you apply it to the string yyn the result would be yesyesno After some research, I have found that: The Boost regex engine says that it has support for conditional replacement. However, the application (e.g., Publisher) that is using Boost must specifically enable the conditional replacement support when it calls the replace function. So: It might work, if Serif coded Publisher to enable the conditional replacement. However, when I tried both of the forms of conditional replacement that I could find documented for Boost, neither worked. This should mean that either: Publisher does not enable the support for conditional replacement; or I have not found the right format for the conditional replacement function in Boost; or This rarely used function is broken in Boost. My research continues. But if anyone from Serif is reading this, and can check with the developers whether the format_all option is passed to regex_replace that would be useful to know. And, if it is not passed, that would be a useful addition to the regex capabilities provided by Publisher, as a future enhancement (possibly via an option in the Find and Replace regex options). Edited February 6, 2023 by walt.farrell Corrected syntax so it matches one version of what Boost allows Old Bruce, laurent32 and Pyanepsion 3 Quote -- Walt Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases PC: Desktop: Windows 11 Pro, version 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 Laptop: Windows 11 Pro, version 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU. iPad: iPad Pro M1, 12.9": iPadOS 17.4.1, Apple Pencil 2, Magic Keyboard Mac: 2023 M2 MacBook Air 15", 16GB memory, macOS Sonoma 14.4.1 Link to comment Share on other sites More sharing options...
laurent32 Posted February 6, 2023 Share Posted February 6, 2023 38 minutes ago, walt.farrell said: My research continues @walt.farrell, I love the way you dive deep into things ! I must say = "respect" and thanks for sharing all that knowledge ! walt.farrell 1 Quote MacBook Pro 16 pouces (3456 × 2234), 2021 / Apple M1 Pro / 16 Go / macOS Ventura Version 13.4.1 (22F82) + 31,5 pouces (2560 × 1440) + 27 pouces (1080 × 1920) + iPad (8th generation) / iPadOS 17.2 + Apple Pencil + … Macmini6,2 Quad-Core Intel Core i7 16 Go / macOS Catalina version 10.15.7 (19H2026) MacBookAir6,2 Intel Core i5 double cœur 4 Go / macOS Big Sur version 11.7.7 (20G1345) Licence Universelle Affinity V2 updated to 2.3.0 Link to comment Share on other sites More sharing options...
walt.farrell Posted February 6, 2023 Share Posted February 6, 2023 You're welcome, @laurent32. Further research notes: The format for conditional replacement strings in Boost is specified at https://www.boost.org/doc/libs/1_81_0/libs/regex/doc/html/boost_regex/format/boost_format_syntax.html I have tried that format (and edited my message above to show a correct format) in another application which uses Boost (Notepad++) and the conditional replacement works there. I have again tried it in Publisher, using a correct format, and it does not work. Therefore, it is most likely that Publisher does not enable this formatting option when issuing the regex_replace call to process the replacement string. Thus ends the research, with the answer that what @Pyanepsion wants to accomplish does not seem to be possible, currently, in Publisher. Quote -- Walt Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases PC: Desktop: Windows 11 Pro, version 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 Laptop: Windows 11 Pro, version 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU. iPad: iPad Pro M1, 12.9": iPadOS 17.4.1, Apple Pencil 2, Magic Keyboard Mac: 2023 M2 MacBook Air 15", 16GB memory, macOS Sonoma 14.4.1 Link to comment Share on other sites More sharing options...
Pyanepsion Posted February 7, 2023 Author Share Posted February 7, 2023 @walt.farrell, What search and replace routines do you use in Notepad++? Quote 6 cœurs, 12 processus - Windows 11 pro - 4K - DirectX 12 - Suite universelle Affinity (Affinity Publisher, Affinity Designer, Affinity Photo). ███ Mais je vous le demande, peut-on imaginer une police sans sérifs ? Link to comment Share on other sites More sharing options...
walt.farrell Posted February 7, 2023 Share Posted February 7, 2023 5 hours ago, Pyanepsion said: What search and replace routines do you use in Notepad++? I didn't actually try your case, but I think it should be: Find: (\s(?=(:|»|%)))|(«)\s Replace: (?1<nnbsp>:\2<nnbsp>) (But you would probably need the actual nnbsp character in the replacement string.) Quote -- Walt Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases PC: Desktop: Windows 11 Pro, version 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 Laptop: Windows 11 Pro, version 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU. iPad: iPad Pro M1, 12.9": iPadOS 17.4.1, Apple Pencil 2, Magic Keyboard Mac: 2023 M2 MacBook Air 15", 16GB memory, macOS Sonoma 14.4.1 Link to comment Share on other sites More sharing options...
Andreas CH Posted February 7, 2023 Share Posted February 7, 2023 Hallo Walt 16 minutes ago, walt.farrell said: I didn't actually try your case, but I think it should be: Find: (\s(?=(:|»|%)))|(«)\s Replace: (?1<nnbsp>:\2<nnbsp>) (But you would probably need the actual nnbsp character in the replacement string.) Bei deinem Ausdruck wird zu viel markiert. Il lui dit : « je sais. C’est 15 %. » Es braucht ?<= vor « richtig ist: (\s(?=(:|»|%)))|(?<=«)\s Il lui dit : « je sais. C’est 15 %. » Das Ersetzen (Replace: (?1<nnbsp>:\2<nnbsp>) ) funktioniert bei mir nicht. Ich muss immer das Zeichen im Dokument markieren, kopieren und dann im Ersetzen-Dialog einfügen. laurent32 1 Quote Link to comment Share on other sites More sharing options...
lacerto Posted February 7, 2023 Share Posted February 7, 2023 @Pyanepsion -- are you looking specifically a solution to be performed at late stage (in page layout)? These kinds of changes could easily be applied in text editor like Word or LibreOffice Writer using macros, before importing text. That would allow you to e.g. add binding thin spaces preceding the colon, question and exclamation mark and other punctuation symbols requiring it in French typography, and if necessary replace regular spaces with binding thin space, in one go. laurent32 1 Quote Link to comment Share on other sites More sharing options...
walt.farrell Posted February 7, 2023 Share Posted February 7, 2023 41 minutes ago, Andreas CH said: Bei deinem Ausdruck wird zu viel markiert. I think my specifications match what @Pyanepsion showed in his first post. Quote -- Walt Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases PC: Desktop: Windows 11 Pro, version 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 Laptop: Windows 11 Pro, version 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU. iPad: iPad Pro M1, 12.9": iPadOS 17.4.1, Apple Pencil 2, Magic Keyboard Mac: 2023 M2 MacBook Air 15", 16GB memory, macOS Sonoma 14.4.1 Link to comment Share on other sites More sharing options...
laurent32 Posted February 7, 2023 Share Posted February 7, 2023 48 minutes ago, Andreas CH said: Das Ersetzen (Replace: (?1<nnbsp>:\2<nnbsp>) ) funktioniert bei mir nicht. Ich muss immer das Zeichen im Dokument markieren, kopieren und dann im Ersetzen-Dialog einfügen. english = The replace (Replace: (?1<nnbsp>:\2<nnbsp>) ) doesn't work for me. I always have to select the character in the document, copy it and then paste it in the replace dialog => It doesn't work for me either. I think that is what @walt.farrell has found : 21 hours ago, walt.farrell said: I have again tried it in Publisher, using a correct format, and it does not work. Therefore, it is most likely that Publisher does not enable this formatting option when issuing the regex_replace call to process the replacement string. Thus ends the research, with the answer that what @Pyanepsion wants to accomplish does not seem to be possible, currently, in Publisher. Quote MacBook Pro 16 pouces (3456 × 2234), 2021 / Apple M1 Pro / 16 Go / macOS Ventura Version 13.4.1 (22F82) + 31,5 pouces (2560 × 1440) + 27 pouces (1080 × 1920) + iPad (8th generation) / iPadOS 17.2 + Apple Pencil + … Macmini6,2 Quad-Core Intel Core i7 16 Go / macOS Catalina version 10.15.7 (19H2026) MacBookAir6,2 Intel Core i5 double cœur 4 Go / macOS Big Sur version 11.7.7 (20G1345) Licence Universelle Affinity V2 updated to 2.3.0 Link to comment Share on other sites More sharing options...
walt.farrell Posted February 7, 2023 Share Posted February 7, 2023 4 minutes ago, laurent32 said: english = The replace (Replace: (?1<nnbsp>:\2<nnbsp>) ) doesn't work for me. I always have to select the character in the document, copy it and then paste it in the replace dialog I think @Pyanepsion showed what the Find/Replace fields contain when you paste in the actual character. Or when you use the pull-down for the field to insert special characters. So, click on the pull-down, and you'll find a way to insert the space. And it will look like what @Pyanepsion showed. Quote -- Walt Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases PC: Desktop: Windows 11 Pro, version 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 Laptop: Windows 11 Pro, version 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU. iPad: iPad Pro M1, 12.9": iPadOS 17.4.1, Apple Pencil 2, Magic Keyboard Mac: 2023 M2 MacBook Air 15", 16GB memory, macOS Sonoma 14.4.1 Link to comment Share on other sites More sharing options...
laurent32 Posted February 7, 2023 Share Posted February 7, 2023 On 2/5/2023 at 10:37 AM, Pyanepsion said: Is this possible? Is it possible to insert a unicode value into Regex formulas such as \u+202f, or to indicate a variable such as <nnbsp> that appears in the occurrence display? Or, is it necessary to paste a narrow non-breaking space <nnbsp> (obtained by U+202F from the text)? If I'm correct, question still unanswered ? Quote MacBook Pro 16 pouces (3456 × 2234), 2021 / Apple M1 Pro / 16 Go / macOS Ventura Version 13.4.1 (22F82) + 31,5 pouces (2560 × 1440) + 27 pouces (1080 × 1920) + iPad (8th generation) / iPadOS 17.2 + Apple Pencil + … Macmini6,2 Quad-Core Intel Core i7 16 Go / macOS Catalina version 10.15.7 (19H2026) MacBookAir6,2 Intel Core i5 double cœur 4 Go / macOS Big Sur version 11.7.7 (20G1345) Licence Universelle Affinity V2 updated to 2.3.0 Link to comment Share on other sites More sharing options...
laurent32 Posted February 7, 2023 Share Posted February 7, 2023 20 minutes ago, walt.farrell said: I think @Pyanepsion showed what the Find/Replace fields contain when you paste in the actual character. Or when you use the pull-down for the field to insert special characters. So, click on the pull-down, and you'll find a way to insert the space. And it will look like what @Pyanepsion showed. We don't have <nnbsp> in the pull down, we only have access to <nbsp> : And I tried the replace formula with <nbsp>, I can't make it work… ? Quote MacBook Pro 16 pouces (3456 × 2234), 2021 / Apple M1 Pro / 16 Go / macOS Ventura Version 13.4.1 (22F82) + 31,5 pouces (2560 × 1440) + 27 pouces (1080 × 1920) + iPad (8th generation) / iPadOS 17.2 + Apple Pencil + … Macmini6,2 Quad-Core Intel Core i7 16 Go / macOS Catalina version 10.15.7 (19H2026) MacBookAir6,2 Intel Core i5 double cœur 4 Go / macOS Big Sur version 11.7.7 (20G1345) Licence Universelle Affinity V2 updated to 2.3.0 Link to comment Share on other sites More sharing options...
lacerto Posted February 7, 2023 Share Posted February 7, 2023 Here is my take, but I may have understood incorrectly OP's intentions: RegEx Buddy explanation for search and replace clauses helps to figure out the syntax -- though as mentioned, I might have misunderstood the goal: In Notepad++: Note: I have only InDesign CS6 and QXP2018 at the moment and neither supports extended boost expressions like conditional replacements. I have no idea if the later versions do. But having scripting support (and ability to chain regex searches in case multiple simple find & replace operations are not wanted to be used), or even just an ability to save regex searches naturally makes need for such advanced searches less necessary. EDIT: <nnbsp> is here simply just a placeholder. If it is used literatlly, it needs to be find + replaced using the actual thin space that the client app understands. laurent32 1 Quote Link to comment Share on other sites More sharing options...
walt.farrell Posted February 7, 2023 Share Posted February 7, 2023 19 minutes ago, laurent32 said: And I tried the replace formula with <nbsp>, I can't make it work… ? Did you try it with the character inserted from the dropdown (which would show as <nbsp>), or with a pasted non-breaking space, or with the text <nbsp>? The pulldown or pasting would be required. But even then, if you're trying the conditional replacement, that does not work in Publisher. Quote -- Walt Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases PC: Desktop: Windows 11 Pro, version 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 Laptop: Windows 11 Pro, version 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU. iPad: iPad Pro M1, 12.9": iPadOS 17.4.1, Apple Pencil 2, Magic Keyboard Mac: 2023 M2 MacBook Air 15", 16GB memory, macOS Sonoma 14.4.1 Link to comment Share on other sites More sharing options...
walt.farrell Posted February 7, 2023 Share Posted February 7, 2023 21 minutes ago, laurent32 said: We don't have <nnbsp> in the pull down, we only have access to <nbsp> : Thanks. Then you would need to paste in the proper character or use the \u or \x notation, I think. Quote -- Walt Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases PC: Desktop: Windows 11 Pro, version 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 Laptop: Windows 11 Pro, version 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU. iPad: iPad Pro M1, 12.9": iPadOS 17.4.1, Apple Pencil 2, Magic Keyboard Mac: 2023 M2 MacBook Air 15", 16GB memory, macOS Sonoma 14.4.1 Link to comment Share on other sites More sharing options...
Recommended Posts
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.