Pyanepsion Posted February 5, 2023 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 ?
walt.farrell Posted February 5, 2023 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 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.3.1, Apple Pencil 2, Magic Keyboard Mac: 2023 M2 MacBook Air 15", 16GB memory, macOS Sequoia 15.0.1
Pyanepsion Posted February 6, 2023 Author 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 ?
laurent32 Posted February 6, 2023 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
Andreas CH Posted February 6, 2023 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
Pyanepsion Posted February 6, 2023 Author 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 ?
Alfred Posted February 6, 2023 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.5.1 (iPad 7th gen)
laurent32 Posted February 6, 2023 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
laurent32 Posted February 6, 2023 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
walt.farrell Posted February 6, 2023 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. Pyanepsion and laurent32 1 1 Quote -- 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.3.1, Apple Pencil 2, Magic Keyboard Mac: 2023 M2 MacBook Air 15", 16GB memory, macOS Sequoia 15.0.1
walt.farrell Posted February 6, 2023 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 laurent32, Pyanepsion and Old Bruce 3 Quote -- 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.3.1, Apple Pencil 2, Magic Keyboard Mac: 2023 M2 MacBook Air 15", 16GB memory, macOS Sequoia 15.0.1
laurent32 Posted February 6, 2023 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
walt.farrell Posted February 6, 2023 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 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.3.1, Apple Pencil 2, Magic Keyboard Mac: 2023 M2 MacBook Air 15", 16GB memory, macOS Sequoia 15.0.1
Pyanepsion Posted February 7, 2023 Author 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 ?
walt.farrell Posted February 7, 2023 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 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.3.1, Apple Pencil 2, Magic Keyboard Mac: 2023 M2 MacBook Air 15", 16GB memory, macOS Sequoia 15.0.1
Andreas CH Posted February 7, 2023 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
walt.farrell Posted February 7, 2023 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 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.3.1, Apple Pencil 2, Magic Keyboard Mac: 2023 M2 MacBook Air 15", 16GB memory, macOS Sequoia 15.0.1
laurent32 Posted February 7, 2023 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
walt.farrell Posted February 7, 2023 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 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.3.1, Apple Pencil 2, Magic Keyboard Mac: 2023 M2 MacBook Air 15", 16GB memory, macOS Sequoia 15.0.1
laurent32 Posted February 7, 2023 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
laurent32 Posted February 7, 2023 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
walt.farrell Posted February 7, 2023 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 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.3.1, Apple Pencil 2, Magic Keyboard Mac: 2023 M2 MacBook Air 15", 16GB memory, macOS Sequoia 15.0.1
walt.farrell Posted February 7, 2023 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 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.3.1, Apple Pencil 2, Magic Keyboard Mac: 2023 M2 MacBook Air 15", 16GB memory, macOS Sequoia 15.0.1
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.