diff --git a/meson.build b/meson.build
index 152024d..13142bc 100644
--- a/meson.build
+++ b/meson.build
@@ -11,6 +11,17 @@
 # indicate that you have read the license and understand and accept it
 # fully.
 
+#
+# Say
+#
+#   meson configure
+#
+# to see all configuration options and their default values.  For example,
+# to build only a shared version of FreeType, override the default value
+# with
+#
+#   meson setup -Ddefault_library=shared
+#
 
 project('freetype2', 'c',
   meson_version: '>= 0.55.0',
@@ -19,12 +30,8 @@
                        'include/freetype/freetype.h').stdout().strip(),
 )
 
-#
-# Rules to compile the FreeType 2 library itself
-#
 
-
-# Apparently meson doesn't provide a read_file() function, so instead
+# Apparently meson doesn't provide a `read_file` function, so instead
 # running an external command is required.
 
 python = import('python')
@@ -101,7 +108,7 @@
 
 
 # FreeType 2 base extensions.
-# Normally configured through `modules.cfg`.
+# To be configured in `modules.cfg`.
 
 base_extensions = run_command(python_exe,
   files('builds/meson/parse_modules_cfg.py'),
@@ -191,7 +198,7 @@
   ft2_sources += files(['builds/windows/ftsystem.c',])
 else
   if has_unistd_h and has_fcntl_h and has_sys_mman_h
-    # This version of ftsystem.c uses mmap() to read input font files.
+    # This version of `ftsystem.c` uses `mmap` to read input font files.
     ft2_sources += files(['builds/unix/ftsystem.c',])
   elif mmap_option.enabled()
     error('mmap was enabled via options but is not available,'
@@ -206,7 +213,7 @@
 #
 # NOTE: Some specialized versions exist for other platforms not supported by
 # Meson.  Most implementation differences are extremely minor, i.e., in the
-# implementation of FT_Message() and FT_Panic(), and getting the `FT2_DEBUG`
+# implementation of `FT_Message` and `FT_Panic`, and getting the `FT2_DEBUG`
 # value from the environment, when this is supported.  A smaller refactor
 # might make these platform-specific files much smaller, and could be moved
 # into `ftsystem.c` as well.
@@ -303,7 +310,7 @@
 endif
 
 
-# Generate `ftconfig.h`
+# Generate `ftconfig.h`.
 
 ftconfig_command = process_header_command
 if has_unistd_h
@@ -338,7 +345,7 @@
 )
 
 
-# To be used by other projects including this one through subproject().
+# To be used by other projects including this one through `subproject`.
 freetype_dep = declare_dependency(
   include_directories: ft2_includes,
   link_with: ft2_lib,
