This can be done in QGIS using two custom line styles (see the bottom of this answer for the two style files you can import into QGIS):
While it might seem like the "Light Duty Road" (two parallel black lines) could trivially be implemented using two thin offset lines, you will run into trouble with this approach if you try to display intersections:
A better way of achieving this is to use a thick black line on the first symbol layer and a slightly thinner gray line on the second symbol layer:
By activating the "Hard Light" layer blending mode, the gray interior becomes transparent, while the black outline remains visible:
Similarly, for the "Unimproved Road", you might try to use two offset dashed lines. However, this won't look very nice because the dashes on either side of the road will not stay in sync for curvy roads:
Instead, you can again use a thick black foundation, this time using a dash pattern, overlaid by a gray line:
Activating the "Hard Light" layer blending mode and symbol levels gives you this:
Style file
Save the following as USGS_road_styles.xml
, import into QGIS using "Settings | Style Manager", then apply to your road categories as needed. The layer needs to use the "Hard Light" layer rendering mode.
<!DOCTYPE qgis_style>
<qgis_style version="2">
<symbols>
<symbol type="line" alpha="1" clip_to_extent="1" force_rhr="0" name="USGS Light Duty Road">
<layer pass="0" enabled="1" locked="0" class="SimpleLine">
<prop k="capstyle" v="flat"/>
<prop k="customdash" v="1.27;0.5"/>
<prop k="customdash_map_unit_scale" v="3x:0,0,0,0,0,0"/>
<prop k="customdash_unit" v="MM"/>
<prop k="draw_inside_polygon" v="0"/>
<prop k="joinstyle" v="bevel"/>
<prop k="line_color" v="0,0,0,255"/>
<prop k="line_style" v="solid"/>
<prop k="line_width" v="0.58"/>
<prop k="line_width_unit" v="MM"/>
<prop k="offset" v="0"/>
<prop k="offset_map_unit_scale" v="3x:0,0,0,0,0,0"/>
<prop k="offset_unit" v="MM"/>
<prop k="ring_filter" v="0"/>
<prop k="use_custom_dash" v="0"/>
<prop k="width_map_unit_scale" v="3x:0,0,0,0,0,0"/>
<data_defined_properties>
<Option type="Map">
<Option value="" type="QString" name="name"/>
<Option name="properties"/>
<Option value="collection" type="QString" name="type"/>
</Option>
</data_defined_properties>
</layer>
<layer pass="1" enabled="1" locked="0" class="SimpleLine">
<prop k="capstyle" v="square"/>
<prop k="customdash" v="5;2"/>
<prop k="customdash_map_unit_scale" v="3x:0,0,0,0,0,0"/>
<prop k="customdash_unit" v="MM"/>
<prop k="draw_inside_polygon" v="0"/>
<prop k="joinstyle" v="bevel"/>
<prop k="line_color" v="0,0,0,255"/>
<prop k="line_style" v="solid"/>
<prop k="line_width" v="0.43"/>
<prop k="line_width_unit" v="MM"/>
<prop k="offset" v="0"/>
<prop k="offset_map_unit_scale" v="3x:0,0,0,0,0,0"/>
<prop k="offset_unit" v="MM"/>
<prop k="ring_filter" v="0"/>
<prop k="use_custom_dash" v="0"/>
<prop k="width_map_unit_scale" v="3x:0,0,0,0,0,0"/>
<data_defined_properties>
<Option type="Map">
<Option value="" type="QString" name="name"/>
<Option type="Map" name="properties">
<Option type="Map" name="outlineColor">
<Option value="true" type="bool" name="active"/>
<Option value="'gray'" type="QString" name="expression"/>
<Option value="3" type="int" name="type"/>
</Option>
</Option>
<Option value="collection" type="QString" name="type"/>
</Option>
</data_defined_properties>
</layer>
</symbol>
<symbol type="line" alpha="1" clip_to_extent="1" force_rhr="0" name="USGS Unimproved Road">
<layer pass="0" enabled="1" locked="0" class="SimpleLine">
<prop k="capstyle" v="flat"/>
<prop k="customdash" v="1.27;0.5"/>
<prop k="customdash_map_unit_scale" v="3x:0,0,0,0,0,0"/>
<prop k="customdash_unit" v="MM"/>
<prop k="draw_inside_polygon" v="0"/>
<prop k="joinstyle" v="bevel"/>
<prop k="line_color" v="0,0,0,255"/>
<prop k="line_style" v="solid"/>
<prop k="line_width" v="0.58"/>
<prop k="line_width_unit" v="MM"/>
<prop k="offset" v="0"/>
<prop k="offset_map_unit_scale" v="3x:0,0,0,0,0,0"/>
<prop k="offset_unit" v="MM"/>
<prop k="ring_filter" v="0"/>
<prop k="use_custom_dash" v="1"/>
<prop k="width_map_unit_scale" v="3x:0,0,0,0,0,0"/>
<data_defined_properties>
<Option type="Map">
<Option value="" type="QString" name="name"/>
<Option name="properties"/>
<Option value="collection" type="QString" name="type"/>
</Option>
</data_defined_properties>
</layer>
<layer pass="0" enabled="1" locked="0" class="SimpleLine">
<prop k="capstyle" v="round"/>
<prop k="customdash" v="5;2"/>
<prop k="customdash_map_unit_scale" v="3x:0,0,0,0,0,0"/>
<prop k="customdash_unit" v="MM"/>
<prop k="draw_inside_polygon" v="0"/>
<prop k="joinstyle" v="bevel"/>
<prop k="line_color" v="0,0,0,255"/>
<prop k="line_style" v="solid"/>
<prop k="line_width" v="0.43"/>
<prop k="line_width_unit" v="MM"/>
<prop k="offset" v="0"/>
<prop k="offset_map_unit_scale" v="3x:0,0,0,0,0,0"/>
<prop k="offset_unit" v="MM"/>
<prop k="ring_filter" v="0"/>
<prop k="use_custom_dash" v="0"/>
<prop k="width_map_unit_scale" v="3x:0,0,0,0,0,0"/>
<data_defined_properties>
<Option type="Map">
<Option value="" type="QString" name="name"/>
<Option type="Map" name="properties">
<Option type="Map" name="outlineColor">
<Option value="true" type="bool" name="active"/>
<Option value="'gray'" type="QString" name="expression"/>
<Option value="3" type="int" name="type"/>
</Option>
</Option>
<Option value="collection" type="QString" name="type"/>
</Option>
</data_defined_properties>
</layer>
</symbol>
</symbols>
<colorramps/>
<textformats/>
<labelsettings/>
<legendpatchshapes/>
</qgis_style>
With that code, I got these good results. Thanks a lot!