To get this

export the org
snippet below after eval
-ling the setup code.
(Note that both the setup code and org
snippet have ZERO WIDTH SPACES and you CANNOT SEE these either in this stackexchange post or in your Emacs
buffer. The fontification in Emacs
buffer will give you a clue where the ZERO WIDTH SPACE characters are)
#+options: author:nil broken-links:nil c:nil creator:nil
#+title: Intra-word emphasis using Zero Width Spaces
Teach*er* vs teach*ing*
/Method/-s and =Class=es
- HiDPI :: *Hi*gh *D*ots *P*er *I*nch
#+begin_src emacs-lisp :exports results
;; Tell `whitespace-mode' that we are only interested
;; in ZERO WIDTH SPACE chars
(custom-set-variables
'(whitespace-display-mappings
'((space-mark 8203
[8857])))
'(whitespace-space-regexp "\\(+\\)")
'(whitespace-style
'(face spaces space-mark)))
(custom-set-faces
'(whitespace-space
((t
(:background "yellow" :foreground "firebrick")))))
;; Put the `org' buffer in `whitespace-mode', so that we can
(whitespace-mode +1)
;; Use `C-x r i SPC' to insert ZERO WIDTH SPACE easily
(set-register ? "")
;; Remove ZERO WIDTH SPACE from output
(require 'ox)
(add-to-list
'org-export-filter-final-output-functions
(defun my-org-export-filter-plain-text-functions
(text backend _info)
(replace-regexp-in-string "" "" text t t)))
;; Report `org' version
(format "Demo-ed with `Org-%s'" org-version)
#+end_src
Here I have extracted the setup emacs-lisp
code separately
;; Tell `whitespace-mode' that we are only interested
;; in ZERO WIDTH SPACE chars
(custom-set-variables
'(whitespace-display-mappings
'((space-mark 8203
[8857])))
'(whitespace-space-regexp "\\(+\\)")
'(whitespace-style
'(face spaces space-mark)))
(custom-set-faces
'(whitespace-space
((t
(:background "yellow" :foreground "firebrick")))))
;; Put the `org' buffer in `whitespace-mode', so that we can
(whitespace-mode +1)
;; Use `C-x r i SPC' to insert ZERO WIDTH SPACE easily
(set-register ? "")
;; Remove ZERO WIDTH SPACE from output
(require 'ox)
(add-to-list
'org-export-filter-final-output-functions
(defun my-org-export-filter-plain-text-functions
(text backend _info)
(replace-regexp-in-string "" "" text t t)))
;; Report `org' version
(format "Demo-ed with `Org-%s'" org-version)
LibreOffice
, disableMenu Bar -> View -> Field Shadings
. The "ugly grey blob" will go away. IOW, you have configuredLIbreOffice
to alert you about the presence of these characters, which are "normally" invisible.