External Viewers
If you use Hyperbole under a window system, the hpath:get-external-display-alist function in hpath.el supports hyperlinks that open files using external, non-Emacs tools, e.g. a pdf reader or a vector graphics viewer.
The value returned by hpath:get-external-display-alist is determined based on the window system supported by the current frame and the version of Emacs in use. This value is an association list whose elements are (<file-name-regular-expression> . <viewer-program-or-list>) pairs. Any path whose name matches a <file-name-regular-expression> will be displayed using the corresponding viewer-program or the first viewer-program found on the system from a list of programs. If a <viewer-program> entry contains a ‘%s’ string, the filename to display is substituted at that point within the string. Otherwise, the filename is appended to the <viewer-program> entry. Alternatively, the viewer-program may be a Lisp function that takes a single filename argument.
The association lists used by this function are stored in variables for each available window system: hpath:external-display-alist-macos, hpath:external-display-alist-mswindows, and hpath:external-display-alist-x. Examine and modify these values to suit your needs.
Part of these values for each operating system come from the variable, hpath:external-file-suffixes’, which holds a regular expression of operating system independent file suffixes to open outside Emacs.