I'm getting the following output for the asciidoc below. Any ideas why? Maybe this is because I'm using the Roboto font, I'm not sure if bullet style is connected to font though:

==== Internal Network Calls
* CircleCI JVM:
** Any connections to other Nomad Clients or the Services machine should be excluded from HTTP proxy
** Connections to GitHub Enterprise should be excluded from HTTP proxy
* The following contains parts that may be impacted due to a proxy configuration:
** http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html[Amazon EC2 metadata]. This **should not** be proxied. If it is, then the machine will be misconfigured.
** Amazon S3 traffic — note S3 discussion above
** Amazon EC2 API - EC2 API traffic may need to be proxied. You would note lots of failures (timeout failures) in logs if the proxy setting is misconfigured, but it will not block CircleCI from functioning.
You're correct, your font is missing the glyph. In fact, it's not only missing it, it's actually contributing a boxed question mark glyph.
The glyph you need is U+25e6 (\u25e6). The following docs explain how to prepare your font for use with Asciidoctor PDF: https://github.com/asciidoctor/asciidoctor-pdf/blob/master/docs/theming-guide.adoc#appendix-a-preparing-a-custom-font
I'm not sure if bullet style is connected to font though
Yes, it is.
Oh, that's strange. A missing glyph now shows a box with either a question mark or an X. That seems different than I remember. Maybe ttfunk got upgraded. Either way, it means the font doesn't provide that glyph.
...or maybe that's how it always worked. I guess I could document that so I don't forget ;)
Aha! I learned something. When a character is missing from the font, the .notdef glyph (normally a box of some sort) will be used in its place. We were dropping this glyph when subsetting the bundled fonts. Most fonts, such as Roboto, provide it (though it's not always the same).
I opened an issue to restore the .notdef to the bundled fonts. Now we'll get a proper replacement glyph to indicate the font is missing the character. I also documented this behavior.
🤯Now I'm confused, just realised my base font is actually Lato not Roboto, and when I look at the characters in fontforge the open bullet U+25e6 (\u25e6) is there already for Lato, so not sure why it's not generating... I tried copying the character over to my version of Roboto regular anyway, and regenerated, but I'm still getting the box with a question mark...
I can confirm that Lato (the official font file) provides the second-level list marker (a circle).
Are you sure you're using the right font file? The lato-regular.ttf file at https://github.com/rosieyohannan/circleci-docs/tree/server/tranfer-content/jekyll/_cci2/release-pdf/fonts is missing U+25e6.
That copy of the font is significantly smaller than the official Lato font, so it must have been subsetted at some point. When it was subsetted, it lost U+25e6.
Oh weird, thanks so much, I will sort that out now!
FontForge is coooooool btw. Learning so much by switching to asciidoc! I might try to get the rest of the team to use it too...
I so agree, FontForge is magic. Before I used FontForge, I was totally bewildered by fonts. FontForge completely demystifies it. And it gives you all sorts of ideas about how to hack the font to do fun things like custom emojis or line drawings.
Learning so much by switching to asciidoc! I might try to get the rest of the team to use it too...
Oh yeah! :man_cartwheeling:
If you're still having trouble with the font, let me know.
I'm also going to make it possible to configure the bullet glyphs for unordered lists via the theme file. That should make it easier to handle this situation when you're in a pinch.
Silly me. It's already possible to change the character used. See https://github.com/asciidoctor/asciidoctor-pdf/blob/master/docs/theming-guide.adoc#key-prefix-ulist-marker-type
Here's an example:
ulist:
marker:
circle:
content: "\u25ca"
All working now thank you! just copied over the Lato font again and that fixed it. I really have no idea how I ended up using a subset of the font though 🧐