How is, in PDF specification language, the convention or rule that change the default and basic rule which causes or makes byte string object showing the output ( < > Tj
) quite differently ?
E.g. a PDF from a web page is converted/generated by a chromium browser https://github.com/vlang/v/blob/master/doc/docs.md
After being uncompresssed by qpdf, its byte string, in 1 word (4 hex digit) unit, each is subtracted by a number, here by 1D hex, the few shown lines else below are only for more descriptive :
...
...
BT
/P <</MCID 35 >>BDC
/F9 24 Tf
1 0 0 -1 33 186 Tm
<002C00510057005500520047005800460057004C00520051> Tj
EMC
ET
...
which'd print out: Introduction
only if each is added back by correct number, due to some (mysterious external) convention/rule subtracting 1D hex from each byte string unit
So how to find (then understand if it's found) this extra convention/rule in the uncompressed PDF file ?
Edit:
The text editor Nano correctly showed it as proven by hex editor
...
/G3 gs
BT
/P <</MCID 35 >>BDC
/F9 24 Tf
1 0 0 -1 33 186 Tm
<002C00510057005500520047005800460057004C00520051> Tj
EMC
ET
Q
q
According to ISO 32000-2, section 9.4.3:
A string operand of a text-showing operator shall be interpreted as a sequence of character codes identifying the glyphs to be painted.
With a simple font, each byte of the string shall be treated as a separate character code. The character code shall then be looked up in the font’s encoding to select the glyph, as described in 9.6.5, "Character encoding".
With a composite font (PDF 1.2), multiple-byte codes may be used to select glyphs. In this instance, one or more consecutive bytes of the string shall be treated as a single character code. The code lengths and the mappings from codes to glyphs are defined in a data structure called a CMap, described in 9.7, "Composite fonts".
Thus, it is not a matter of whether a literal string or a byte string is used, in either case the codes used are character codes the meaning of which is defined in the associated font object.
To determine the glyphs those character codes point out, therefore, you have to look at the definition of the current font, F9. The values in your example string create the impression that that font likely is a composite font with a double-byte encoding, probably Identity-H. To be sure, though, you have to inspect that font resource.