Closed vv-monsalve closed 1 year ago
Medium
and SemiBold
to provide all the intermediate positions in the range (400 -- 700). This is required due to the API will generate those instantiated static fonts by default. You can find more details about it in the Instantiated Static Fonts section on the Variable Fonts Requirements of the GF-Guide@davelab6 could you please confirm this?
@vv-monsalve Thanks for reviewing the files and getting back with the feedback. I have been contemplating the right axis for the family and I think that the Grade (GRAD) axis would be better suited for this type of family. Since the Two versions are designed to accommodate the resolution changes of the AR/VR headsets. And they are duplexed to retain the glyph width to avoid any reflow.
Hence I wanted to share few changes with you to discuss them:
Please share your feedback on this and I will make the changes accordingly.
@niteeshy GRAD
doesn't seem the best option either here. I've sent you an email to set up video call to better review this and find the best candidate.
Following today's meeting, these are the next steps:
@vv-monsalve I have completed the tasks above:
One small change: The name of axis that I feel will be more relevant is "AR Retinal Resolution" ARRR
Here is the draft proposal, should I post it as new axis proposal?
Proposers name: Niteesh Yadav Proposal name: AR Resolution (Augmented Reality Resolution) Date of submission: 2023-04-12 New or revised proposal: New
AR One Sans Repository
Overview: The AR Resolution proposal aims to improve the user experience of AR/VR headsets by enabling resolution-specific enhancements. As the resolution of these headsets continues to evolve towards retina resolution (60 PPD), it becomes increasingly challenging for designers to create scalable experiences that cater to a wide range of devices. Traditionally, designers have optimized text for the latest technology, resulting in substandard experiences for users with previous-generation devices.
To address this issue, the proposal suggests using typefaces with resolution-specific adjustments that are duplexed (uni-width). This approach empowers designers to create a single design that can be rendered across a large range of headsets, regardless of resolution. By mapping the AR retinal resolution (ARRR) to the PPD resolution of the headsets, users can enjoy the best possible experience as the typeface is rendered based on their device's resolution.
AR One Sans, designed by Niteesh Yadav, provides an example of size-specific adjustment in typefaces. For instance, the font includes light traps that help to reduce the glow at the junctions of the strokes of letters. Additionally, the font features flaring at the end of strokes that optimizes the shape of letters to minimize the rounding effect that can occur with rectangular strokes, making them appear more like rounded rectangles.
Overall, the AR Retinal Resolution proposal seeks to provide a solution to the challenge of designing scalable experiences for a wider audience by enabling designers to create designs that work across a range of devices, resulting in a better user experience for all users.
Image
GIF illustrating the flaring (one of the adjustments) on ARRR axis.
Tag: ARRR
Name: AR Retinal Resolution
Valid numeric range: 0 to 60
Description: Resolution-specific enhancements in AR/VR typefaces optimize text without changing the width of the letters, maintaining consistent spacing and kerning, and preserving layout and line breaks. This ensures a consistent design and layout across different resolutions, making designs accessible and easy to read, regardless of the headset's resolution.
Scale interpretation: In the proposed resolution-specific adjustments for AR/VR typefaces, the lower value of the axis corresponds to the PPD of low-resolution headsets, while the upper value corresponds to 60 PPD, which is considered retina resolution. Beyond this point, the effect of adjustments on legibility and readability becomes negligible. Therefore, by limiting the adjustments to this range, designers can optimize the legibility and readability of their typefaces for a wide range of headsets while minimizing the amount of adjustment work required.
Recommended Use: Is to map the ARRR
to the resolution of headsets and render the typefaces according to that.
Reference PPD values of headsets: Varjo XR-3: 70 PPD in its focus area and 30 PPD in its peripheral area. Hololens 2 (AR): 47 PPD Oculus Quest (VR): 14.4 PPD PSVR (VR): 9.6 PPD
Pixel Density in AR/VR headsets VR headset PPD table Importance of retinal resolution in AR/VR
Here is the draft proposal, should I post it as new axis proposal?
Please open a new axis proposal issue in the googlefonts/axisregistry repo following the Add Axis template.
Some notes after reading the draft:
Thanks for the detailed information. Let's continue the discussion around the axis there, once created.
Is there a way to convert ppd to Points? Would there be a font with both opsz and ARRR axes?
@davelab6
I'm not too sure about the conversion of PPD to points. To calculate the HMD’s pixel density in PPD (the number of pixels per degree it presents to the eye), the number of pixels in a horizontal display line has to be divided by the horizontal field of view provided by the lens. Example: Oculus Quest has a resolution of 1440x1600 per-eye and FOV of 93° horizontal, so the PPD come out to be 15.31 (1440/93). I was looking at PPD as a reference unit since it would be easy to understand based on the retinal resolution concept. Any specific reason to convert it into points?
Yes, there is a possibility of having opsz alongside ARRR as it can make it easy for designers to deliver size-specific variants/ adjustments.
@niteeshy would you like to create the proposal issue in the Axis Registry repo? Otherwise, I could do it for you. This discussion should happen there ;)
Per (2) then I think this axis regisration should proceed, looking forward to continuing the discussion in the axis registry repo :)
HI @niteeshy, the following would be the first To-Do tasks to solve some reported Fails for AR One Sans
Reported Fails
🔥 FAIL: Validate defaults on fvar table match registered fallback names in GFAxisRegistry. (com.google.fonts/check/gf_axisregistry/fvar_axis_defaults)
🔥 FAIL: STAT table has Axis Value tables? (com.adobe.fonts/check/stat_has_axis_value_tables)
To-Do