From f968fc8719089631b5a336a129197c7c58c4ff92 Mon Sep 17 00:00:00 2001
From: luz paz <david.yoga@gmail.com>
Date: Wed, 9 Jun 2021 19:32:58 +0000
Subject: [PATCH] Fix source comment / documentation typos

---
 .gitignore                                    |  2 +-
 3d-viewer/3d_math.h                           |  2 +-
 .../accelerators/bvh_packet_traversal.cpp     |  2 +-
 .../3d_render_raytracing/frustum.cpp          |  2 +-
 .../3d_render_raytracing/frustum.h            |  2 +-
 .../3d_render_raytracing/mortoncodes.cpp      |  2 +-
 .../3d_render_raytracing/mortoncodes.h        |  2 +-
 .../shapes3D/cylinder_3d.cpp                  |  2 +-
 .../shapes3D/triangle_3d.cpp                  |  4 +-
 .../3d_rendering/legacy/create_scene.cpp      |  2 +-
 .../3d_rendering/legacy/layer_triangles.h     |  2 +-
 3d-viewer/3d_rendering/test_cases.cpp         |  2 +-
 3d-viewer/3d_rendering/trackball.h            |  4 +-
 3d-viewer/3d_viewer/eda_3d_viewer.cpp         |  2 +-
 3d-viewer/common_ogl/ogl_attr_list.cpp        |  2 +-
 3d-viewer/credits.txt                         |  2 +-
 CMakeLists.txt                                |  2 +-
 .../BuildSteps/TokenList2DsnLexer.cmake       |  2 +-
 CMakeModules/FindwxWidgets.cmake              |  2 +-
 CMakeModules/GetPrerequisites.cmake           |  2 +-
 CMakeModules/KiCadVersion.cmake               |  2 +-
 CMakeModules/UsewxWidgets.cmake               |  2 +-
 CMakeModules/config.h.cmake                   |  2 +-
 bitmap2component/bitmap2component.cpp         |  2 +-
 bitmaps_png/icons/mk_icn.sh                   |  2 +-
 common/dialogs/dialog_color_picker.cpp        |  2 +-
 common/dialogs/panel_common_settings_base.h   |  2 +-
 common/dialogs/wx_html_report_box.h           |  2 +-
 common/eda_base_frame.cpp                     |  2 +-
 common/eda_dde.cpp                            |  2 +-
 common/eda_rect.cpp                           |  2 +-
 common/gal/opengl/opengl_gal.cpp              |  2 +-
 common/gbr_metadata.cpp                       |  2 +-
 common/gr_basic.cpp                           |  2 +-
 common/kiway_express.cpp                      |  2 +-
 common/kiway_player.cpp                       |  2 +-
 common/plotters/HPGL_plotter.cpp              |  2 +-
 common/plotters/PDF_plotter.cpp               |  2 +-
 common/plotters/PS_plotter.cpp                |  2 +-
 common/plotters/gbr_plotter_aperture_macros.h |  8 +--
 common/plotters/plotter_gerber.h              |  2 +-
 common/preview_items/two_point_assistant.cpp  |  2 +-
 common/richio.cpp                             |  6 +-
 common/status_popup.cpp                       |  2 +-
 common/tool/tool_dispatcher.cpp               |  4 +-
 common/view/wx_view_controls.cpp              |  2 +-
 common/widgets/mathplot.cpp                   |  4 +-
 common/wildcards_and_files_ext.cpp            |  2 +-
 .../fp_conflict_assignment_selector.cpp       |  4 +-
 .../action_menu_add_automatic_border.py       |  4 +-
 .../action_menu_text_by_date.py               |  4 +-
 eeschema/default_values.h                     |  2 +-
 eeschema/dialogs/dialog_edit_one_field.h      |  2 +-
 eeschema/dialogs/dialog_pin_properties.cpp    |  2 +-
 eeschema/dialogs/dialog_sheet_properties.cpp  |  4 +-
 eeschema/dialogs/dialog_spice_model.cpp       |  2 +-
 eeschema/dialogs/dialog_symbol_remap.cpp      |  2 +-
 .../panel_eeschema_template_fieldnames.h      |  2 +-
 eeschema/general.h                            |  2 +-
 eeschema/getpart.cpp                          |  2 +-
 eeschema/hierarch.cpp                         |  2 +-
 eeschema/lib_item.h                           |  4 +-
 eeschema/lib_symbol.cpp                       |  6 +-
 eeschema/lib_symbol.h                         |  2 +-
 .../plugins/python_scripts/README-bom.txt     |  2 +-
 .../python_scripts/kicad_netlist_reader.py    | 14 ++--
 .../bom_with_title_block_2_csv.xsl            |  4 +-
 .../xsl_scripts/netlist_form_OrcadPcb2.xsl    |  2 +-
 eeschema/project_rescue.cpp                   |  2 +-
 eeschema/sch_edit_frame.cpp                   |  2 +-
 eeschema/sch_edit_frame.h                     |  2 +-
 eeschema/sch_file_versions.h                  |  2 +-
 .../cadstar/cadstar_sch_archive_loader.cpp    |  4 +-
 .../cadstar/cadstar_sch_archive_parser.h      |  4 +-
 .../sch_plugins/eagle/sch_eagle_plugin.cpp    |  2 +-
 .../sch_plugins/kicad/sch_sexpr_plugin.cpp    |  6 +-
 .../sch_plugins/legacy/sch_legacy_plugin.cpp  | 12 ++--
 eeschema/sch_reference_list.h                 |  2 +-
 eeschema/sch_screen.cpp                       |  2 +-
 eeschema/sch_screen.h                         |  2 +-
 eeschema/sch_sheet_path.cpp                   |  2 +-
 eeschema/sch_sheet_path.h                     |  2 +-
 eeschema/sch_text.cpp                         |  2 +-
 eeschema/schematic_settings.cpp               |  2 +-
 eeschema/sim/netlist_exporter_pspice_sim.cpp  |  2 +-
 eeschema/symbol_viewer_frame.cpp              |  2 +-
 eeschema/tools/ee_point_editor.cpp            |  2 +-
 eeschema/tools/ee_selection_tool.cpp          |  2 +-
 eeschema/tools/sch_editor_control.h           |  2 +-
 eeschema/transform.h                          |  2 +-
 eeschema/widgets/tuner_slider.cpp             |  2 +-
 gerbview/X2_gerber_attributes.cpp             |  2 +-
 gerbview/am_param.h                           | 10 +--
 gerbview/am_primitive.cpp                     |  4 +-
 gerbview/excellon_image.h                     |  4 +-
 gerbview/excellon_read_drill_file.cpp         |  8 +--
 gerbview/export_to_pcbnew.cpp                 |  2 +-
 gerbview/gerber_draw_item.cpp                 |  2 +-
 gerbview/gerber_file_image.cpp                |  8 +--
 gerbview/rs274_read_XY_and_IJ_coordinates.cpp |  2 +-
 gerbview/rs274x.cpp                           |  4 +-
 gerbview/widgets/gerbview_layer_widget.cpp    |  4 +-
 include/basic_gal.h                           |  2 +-
 include/bitmap_store.h                        |  4 +-
 include/bitmaps/bitmap_types.h                |  2 +-
 include/convert_to_biu.h                      |  8 +--
 include/dialogs/dialog_text_entry.h           |  2 +-
 include/drawing_sheet/ds_data_item.h          |  2 +-
 include/gal/color4d.h                         |  2 +-
 include/gal/opengl/noncached_container.h      |  2 +-
 include/gbr_netlist_metadata.h                |  2 +-
 include/id.h                                  |  2 +-
 include/ki_exception.h                        |  2 +-
 include/kicad_curl/kicad_curl_easy.h          |  2 +-
 include/kiway_player.h                        |  2 +-
 include/layers_id_colors_and_visibility.h     |  4 +-
 include/lib_tree_model.h                      |  2 +-
 include/libeval/numeric_evaluator.h           |  2 +-
 include/plugins/3dapi/c3dmodel.h              |  4 +-
 include/preview_items/arc_assistant.h         |  4 +-
 include/preview_items/arc_geom_manager.h      |  2 +-
 include/preview_items/two_point_assistant.h   |  4 +-
 include/settings/app_settings.h               |  2 +-
 include/settings/parameters.h                 |  2 +-
 include/settings/settings_manager.h           |  4 +-
 include/template_fieldnames.h                 |  2 +-
 include/tool/action_manager.h                 |  2 +-
 include/undo_redo_container.h                 |  2 +-
 include/utf8.h                                |  2 +-
 include/widgets/busy_indicator.h              |  2 +-
 include/widgets/infobar.h                     |  4 +-
 include/widgets/mathplot.h                    | 12 ++--
 include/widgets/progress_reporter.h           |  6 +-
 include/widgets/widget_hotkey_list.h          |  2 +-
 include/widgets/wx_ellipsized_static_text.h   |  2 +-
 kicad/CMakeLists.txt                          |  2 +-
 kicad/kicad.cpp                               |  2 +-
 kicad/project_tree_pane.cpp                   |  2 +-
 libs/kimath/include/geometry/circle.h         |  2 +-
 libs/kimath/include/geometry/geometry_utils.h |  2 +-
 .../include/geometry/poly_grid_partition.h    |  2 +-
 libs/kimath/include/geometry/seg.h            |  2 +-
 libs/kimath/include/geometry/shape.h          |  2 +-
 .../include/geometry/shape_line_chain.h       |  8 +--
 libs/kimath/include/geometry/shape_poly_set.h |  2 +-
 libs/kimath/include/math/util.h               |  2 +-
 libs/kimath/src/bezier_curves.cpp             |  2 +-
 libs/kimath/src/geometry/shape_arc.cpp        |  2 +-
 libs/kimath/src/geometry/shape_poly_set.cpp   |  2 +-
 libs/kiplatform/gtk/environment.cpp           |  2 +-
 libs/kiplatform/include/kiplatform/app.h      |  2 +-
 libs/kiplatform/msw/environment.cpp           |  2 +-
 .../dialogs/properties_frame.cpp              | 12 ++--
 pagelayout_editor/dialogs/properties_frame.h  |  8 +--
 pagelayout_editor/tools/pl_selection_tool.cpp |  2 +-
 .../dialogs/dialog_regulator_form.h           |  4 +-
 pcb_calculator/eserie.cpp                     |  4 +-
 pcb_calculator/eserie.h                       |  4 +-
 pcb_calculator/params_read_write.cpp          |  2 +-
 pcb_calculator/pcb_calculator_frame.cpp       |  4 +-
 pcb_calculator/transline/c_microstrip.cpp     |  4 +-
 pcb_calculator/transline/microstrip.cpp       |  2 +-
 pcb_calculator/transline/transline.cpp        |  4 +-
 pcbnew/autorouter/ar_matrix.cpp               |  4 +-
 pcbnew/autorouter/spread_footprints.cpp       |  2 +-
 pcbnew/board.cpp                              |  2 +-
 pcbnew/board_design_settings.cpp              |  2 +-
 pcbnew/board_stackup_manager/board_stackup.h  |  2 +-
 .../panel_board_stackup.h                     |  8 +--
 pcbnew/collectors.cpp                         |  6 +-
 pcbnew/connectivity/connectivity_data.h       |  2 +-
 pcbnew/dialogs/dialog_drc.cpp                 |  2 +-
 pcbnew/dialogs/dialog_export_step_base.h      |  2 +-
 pcbnew/dialogs/dialog_footprint_checker.cpp   |  2 +-
 .../dialog_footprint_properties_fp_editor.cpp |  2 +-
 .../dialogs/dialog_gencad_export_options.cpp  |  2 +-
 pcbnew/dialogs/dialog_net_inspector.cpp       |  2 +-
 pcbnew/dialogs/dialog_pad_properties.cpp      |  8 +--
 .../dialogs/dialog_track_via_properties.cpp   |  2 +-
 pcbnew/drc/drc_engine.cpp                     |  2 +-
 .../drc_test_provider_diff_pair_coupling.cpp  |  2 +-
 pcbnew/exporters/export_gencad.cpp            |  2 +-
 pcbnew/exporters/exporter_vrml.h              |  2 +-
 pcbnew/exporters/gen_footprints_placefile.cpp |  4 +-
 pcbnew/exporters/gendrill_Excellon_writer.cpp |  2 +-
 pcbnew/exporters/gendrill_gerber_writer.cpp   |  4 +-
 pcbnew/exporters/gerber_jobfile_writer.cpp    |  2 +-
 pcbnew/exporters/gerber_jobfile_writer.h      |  2 +-
 pcbnew/exporters/gerber_placefile_writer.cpp  |  4 +-
 pcbnew/footprint.cpp                          |  2 +-
 pcbnew/footprint_edit_frame.cpp               |  4 +-
 pcbnew/footprint_info_impl.cpp                |  2 +-
 pcbnew/footprint_wizard_frame.cpp             |  2 +-
 pcbnew/import_gfx/dxf_import_plugin.cpp       |  4 +-
 pcbnew/kicad_clipboard.cpp                    |  2 +-
 pcbnew/load_select_footprint.cpp              |  2 +-
 pcbnew/pcb_edit_frame.cpp                     |  2 +-
 pcbnew/pcb_painter.cpp                        |  6 +-
 pcbnew/pcbnew.cpp                             |  4 +-
 pcbnew/pcbplot.cpp                            |  2 +-
 pcbnew/plot_brditems_plotter.cpp              |  2 +-
 pcbnew/plugins/altium/altium_parser_pcb.cpp   |  2 +-
 pcbnew/plugins/altium/altium_pcb.cpp          |  4 +-
 .../cadstar/cadstar_pcb_archive_loader.cpp    | 12 ++--
 .../cadstar/cadstar_pcb_archive_parser.h      |  2 +-
 pcbnew/plugins/geda/gpcb_plugin.cpp           |  8 +--
 pcbnew/plugins/legacy/legacy_plugin.cpp       |  2 +-
 pcbnew/plugins/pcad/pcb.cpp                   |  4 +-
 pcbnew/plugins/pcad/pcb_footprint.cpp         |  2 +-
 pcbnew/plugins/pcad/pcb_pad_shape.cpp         |  2 +-
 pcbnew/python/plugins/FPC_wizard.py           |  2 +-
 pcbnew/python/plugins/FootprintWizardBase.py  | 66 +++++++++----------
 .../python/plugins/qrcode_footprint_wizard.py |  2 +-
 pcbnew/python/plugins/uss39_barcode.py        |  2 +-
 .../scripting/pcbnew_footprint_wizards.cpp    |  2 +-
 pcbnew/python/swig/board_item.i               |  6 +-
 pcbnew/python/swig/zone.i                     |  2 +-
 pcbnew/router/pns_debug_decorator.h           |  2 +-
 pcbnew/router/pns_diff_pair.h                 |  4 +-
 pcbnew/router/pns_dragger.cpp                 |  4 +-
 pcbnew/router/pns_item.cpp                    |  2 +-
 pcbnew/router/pns_line_placer.h               |  2 +-
 pcbnew/router/pns_meander.h                   |  2 +-
 pcbnew/router/pns_optimizer.cpp               |  2 +-
 pcbnew/router/pns_placement_algo.h            |  2 +-
 pcbnew/specctra_import_export/specctra.h      | 14 ++--
 pcbnew/tools/board_editor_control.cpp         |  6 +-
 pcbnew/tools/drawing_stackup_table_tool.cpp   |  2 +-
 pcbnew/tools/drawing_tool.cpp                 |  2 +-
 pcbnew/tools/edit_tool.cpp                    |  2 +-
 pcbnew/tools/pcb_editor_conditions.h          |  2 +-
 pcbnew/tools/pcb_selection_tool.cpp           |  4 +-
 pcbnew/tools/zone_create_helper.cpp           |  4 +-
 pcbnew/tracks_cleaner.cpp                     |  2 +-
 pcbnew/undo_redo.cpp                          |  2 +-
 pcbnew/zone_filler.cpp                        |  4 +-
 pcbnew/zone_filler.h                          |  2 +-
 pcbnew/zones_functions_for_undo_redo.cpp      |  2 +-
 plugins/3d/vrml/v2/vrml2_switch.cpp           |  2 +-
 plugins/3d/vrml/v2/vrml2_transform.cpp        |  2 +-
 .../eagle-import-testfile.brd                 |  4 +-
 .../eagle-import-testfile.sch                 |  4 +-
 qa/eeschema/eeschema_test_utils.h             |  2 +-
 qa/eeschema/test_lib_part.cpp                 |  4 +-
 qa/eeschema/test_sch_sheet_list.cpp           |  2 +-
 qa/eeschema/test_sch_symbol.cpp               |  2 +-
 qa/eeschema/uuid_test_utils.cpp               |  2 +-
 qa/libs/kimath/geometry/test_circle.cpp       |  4 +-
 qa/libs/kimath/geometry/test_segment.cpp      |  4 +-
 qa/pcbnew/drc/test_drc_courtyard_invalid.cpp  |  2 +-
 qa/pcbnew/drc/test_drc_courtyard_overlap.cpp  |  2 +-
 qa/pcbnew_utils/CMakeLists.txt                |  2 +-
 .../include/qa_utils/utility_program.h        |  2 +-
 qa/qa_utils/stdstream_line_reader.cpp         |  2 +-
 qa/resources/linux/verifyMetadataFiles.sh     |  4 +-
 scripting/build_tools/fix_swig_imports.py     |  2 +-
 scripting/python_scripting.cpp                |  2 +-
 tools/checkcoding.py                          |  2 +-
 translation/README.adoc                       |  4 +-
 uncrustify.cfg                                |  2 +-
 utils/kicad2step/pcb/kicadcurve.cpp           |  2 +-
 261 files changed, 422 insertions(+), 422 deletions(-)

diff --git a/.gitignore b/.gitignore
index c4563935d2..c99872f9c1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -54,7 +54,7 @@ common/pcb_keywords.cpp
 include/pcb_lexer.h
 fp-info-cache
 
-# demo project auxillary files
+# demo project auxiliary files
 demos/**/*-bak
 demos/**/_autosave-*
 demos/**/fp-info-cache
diff --git a/3d-viewer/3d_math.h b/3d-viewer/3d_math.h
index ec750b8c41..637cbb13e7 100644
--- a/3d-viewer/3d_math.h
+++ b/3d-viewer/3d_math.h
@@ -38,7 +38,7 @@
  *
  * @param aInclination θ ∈ [0, π]
  * @param aAzimuth φ ∈ [0, 2π]
- * @return Cartesian cordinates
+ * @return Cartesian coordinates
  */
 inline SFVEC3F SphericalToCartesian( float aInclination, float aAzimuth )
 {
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/bvh_packet_traversal.cpp b/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/bvh_packet_traversal.cpp
index a0b8c894c6..14ee6b9ded 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/bvh_packet_traversal.cpp
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/bvh_packet_traversal.cpp
@@ -24,7 +24,7 @@
 
 /**
  * @file bvh_packet_traversal.cpp
- * @brief This file implementes packet traversal over the BVH PBRT implementation.
+ * @brief This file implements packet traversal over the BVH PBRT implementation.
  */
 
 #include "bvh_pbrt.h"
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/frustum.cpp b/3d-viewer/3d_rendering/3d_render_raytracing/frustum.cpp
index 9dcd1ac3f7..099c49e298 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/frustum.cpp
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/frustum.cpp
@@ -29,7 +29,7 @@
 
 #include "frustum.h"
 
-// !TODO: optimize wih SSE
+// !TODO: optimize with SSE
 //#if(GLM_ARCH != GLM_ARCH_PURE)
 #if 0
 #error not implemented
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/frustum.h b/3d-viewer/3d_rendering/3d_render_raytracing/frustum.h
index d0ae06c24c..9850160194 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/frustum.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/frustum.h
@@ -33,7 +33,7 @@
 #include "shapes3D/bbox_3d.h"
 #include "ray.h"
 
-// !TODO: optimize wih SSE
+// !TODO: optimize with SSE
 //#if(GLM_ARCH != GLM_ARCH_PURE)
 #if 0
 #error not implemented
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/mortoncodes.cpp b/3d-viewer/3d_rendering/3d_render_raytracing/mortoncodes.cpp
index 83d9394d9c..c3d2fdd419 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/mortoncodes.cpp
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/mortoncodes.cpp
@@ -24,7 +24,7 @@
 
 /**
  * @file  mortoncodes.cpp
- * @brief Implementes Morton Codes base on the implementation of Fabian “ryg” Giesen
+ * @brief Implements Morton Codes base on the implementation of Fabian “ryg” Giesen
  * https://fgiesen.wordpress.com/2009/12/13/decoding-morton-codes/
  */
 
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/mortoncodes.h b/3d-viewer/3d_rendering/3d_render_raytracing/mortoncodes.h
index 4f1ce8998e..5e6b98c66d 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/mortoncodes.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/mortoncodes.h
@@ -24,7 +24,7 @@
 
 /**
  * @file  mortoncodes.h
- * @brief Implementes Morton Codes
+ * @brief Implements Morton Codes
  * https://fgiesen.wordpress.com/2009/12/13/decoding-morton-codes/
  * http://www.forceflow.be/2013/10/07/morton-encodingdecoding-through-bit-interleaving-implementations/
  */
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/shapes3D/cylinder_3d.cpp b/3d-viewer/3d_rendering/3d_render_raytracing/shapes3D/cylinder_3d.cpp
index baf4cce110..fe6ffd15e6 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/shapes3D/cylinder_3d.cpp
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/shapes3D/cylinder_3d.cpp
@@ -162,7 +162,7 @@ bool CYLINDER::IntersectP(const RAY& aRay , float aMaxDistance ) const
 
 bool CYLINDER::Intersects( const BBOX_3D& aBBox ) const
 {
-    // !TODO: improove
+    // !TODO: improve
     return m_bbox.Intersects( aBBox );
 }
 
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/shapes3D/triangle_3d.cpp b/3d-viewer/3d_rendering/3d_render_raytracing/shapes3D/triangle_3d.cpp
index ace72acfe3..7ee4c70670 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/shapes3D/triangle_3d.cpp
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/shapes3D/triangle_3d.cpp
@@ -201,7 +201,7 @@ static const unsigned int s_modulo[] = { 0, 1, 2, 0, 1 };
 
 bool TRIANGLE::Intersect( const RAY& aRay, HITINFO& aHitInfo ) const
 {
-    //!TODO: precalc this, improove it
+    //!TODO: precalc this, improve it
 #define ku s_modulo[m_k + 1]
 #define kv s_modulo[m_k + 2]
 
@@ -298,7 +298,7 @@ bool TRIANGLE::IntersectP( const RAY& aRay, float aMaxDistance ) const
 
 bool TRIANGLE::Intersects( const BBOX_3D& aBBox ) const
 {
-    //!TODO: improove
+    //!TODO: improve
     return m_bbox.Intersects( aBBox );
 }
 
diff --git a/3d-viewer/3d_rendering/legacy/create_scene.cpp b/3d-viewer/3d_rendering/legacy/create_scene.cpp
index 3404c48296..d5bc6baf65 100644
--- a/3d-viewer/3d_rendering/legacy/create_scene.cpp
+++ b/3d-viewer/3d_rendering/legacy/create_scene.cpp
@@ -280,7 +280,7 @@ OPENGL_RENDER_LIST* RENDER_3D_LEGACY::generateHoles( const LIST_OBJECT2D& aListH
             }
         }
 
-        // Note: he can have a aListHolesObject2d whith holes but without countours
+        // Note: he can have a aListHolesObject2d with holes but without contours
         // eg: when there are only NPTH on the list and the contours were not added
         if( aPoly.OutlineCount() > 0 )
         {
diff --git a/3d-viewer/3d_rendering/legacy/layer_triangles.h b/3d-viewer/3d_rendering/legacy/layer_triangles.h
index e98d6beeab..836a96956c 100644
--- a/3d-viewer/3d_rendering/legacy/layer_triangles.h
+++ b/3d-viewer/3d_rendering/legacy/layer_triangles.h
@@ -69,7 +69,7 @@ public:
                     const SFVEC3F& aN4 );
 
     /**
-     * Get the array of vertexes.
+     * Get the array of vertices.
      *
      * @return a pointer to the start of array vertex.
      */
diff --git a/3d-viewer/3d_rendering/test_cases.cpp b/3d-viewer/3d_rendering/test_cases.cpp
index 3d6b7e9d1c..b5cf54a05f 100644
--- a/3d-viewer/3d_rendering/test_cases.cpp
+++ b/3d-viewer/3d_rendering/test_cases.cpp
@@ -290,7 +290,7 @@ void Run_3d_viewer_test_cases()
     bbox3d.Set( SFVEC3F(- 1.0f, -1.0f, 1.0f ), SFVEC3F( 0.0f, 0.0f, 2.0f ) );
     wxASSERT( frustum.Intersect( bbox3d ) == true );
 
-    // !TODO: The frustum alg is not excluse all the the situations
+    // !TODO: The frustum alg does not exclude all the situations
     //bbox3d.Set( SFVEC3F(-1.0f, -1.0f, z+1.0f), SFVEC3F(+1.0f,+1.0f, +z+2.0f) );
     //wxASSERT( frustum.Intersect( bbox3d ) == false );
 
diff --git a/3d-viewer/3d_rendering/trackball.h b/3d-viewer/3d_rendering/trackball.h
index e6bffbeb1e..b944a9085a 100644
--- a/3d-viewer/3d_rendering/trackball.h
+++ b/3d-viewer/3d_rendering/trackball.h
@@ -45,13 +45,13 @@
  * the mouse, scaled so they are from (-1.0 ... 1.0).
  *
  * The resulting rotation is returned as a quaternion rotation in the
- * first paramater.
+ * first parameter.
  */
 void trackball( double q[4], double p1x, double p1y, double p2x, double p2y );
 
 /*
  * Given two quaternions, add them together to get a third quaternion.
- * Adding quaternions to get a compound rotation is analagous to adding
+ * Adding quaternions to get a compound rotation is analogous to adding
  * translations to get a compound translation.  When incrementally
  * adding rotations, the first argument here should be the new
  * rotation, the second and third the total rotation (which will be
diff --git a/3d-viewer/3d_viewer/eda_3d_viewer.cpp b/3d-viewer/3d_viewer/eda_3d_viewer.cpp
index 7b636f6d73..23a242ec59 100644
--- a/3d-viewer/3d_viewer/eda_3d_viewer.cpp
+++ b/3d-viewer/3d_viewer/eda_3d_viewer.cpp
@@ -153,7 +153,7 @@ EDA_3D_VIEWER::EDA_3D_VIEWER( KIWAY *aKiway, PCB_BASE_FRAME *aParent, const wxSt
     m_auimgr.AddPane( m_canvas, EDA_PANE().Canvas().Name( "DrawFrame" ).Center() );
 
     // Call Update() to fix all pane default sizes, especially the "InfoBar" pane before
-    // hidding it.
+    // hiding it.
     m_auimgr.Update();
 
     // We don't want the infobar displayed right away
diff --git a/3d-viewer/common_ogl/ogl_attr_list.cpp b/3d-viewer/common_ogl/ogl_attr_list.cpp
index 8a567f9117..cd0cd71cef 100644
--- a/3d-viewer/common_ogl/ogl_attr_list.cpp
+++ b/3d-viewer/common_ogl/ogl_attr_list.cpp
@@ -111,7 +111,7 @@ const int* OGL_ATT_LIST::GetAttributesList( ANTIALIASING_MODE aAntiAliasingMode
         }
     }
 
-    // Disable antialising if it failed or was not requested
+    // Disable antialiasing if it failed or was not requested
     if( aAntiAliasingMode == ANTIALIASING_MODE::AA_NONE )
     {
         // Remove multisampling information
diff --git a/3d-viewer/credits.txt b/3d-viewer/credits.txt
index a447e89f0f..9c54d9a200 100644
--- a/3d-viewer/credits.txt
+++ b/3d-viewer/credits.txt
@@ -159,7 +159,7 @@ Etay Meiri, email: ogldev1 gmail
 mortoncodes.cpp
 ---------------
 
-Implementes Morton Codes base on the implementation of Fabian “ryg” Giesen
+Implements Morton Codes base on the implementation of Fabian “ryg” Giesen
 https://fgiesen.wordpress.com/2009/12/13/decoding-morton-codes/
 
 
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 387345c3c4..b7aba939d8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -426,7 +426,7 @@ if( MSVC )
     string( APPEND CMAKE_CXX_FLAGS " /bigobj" )
 
     # Exception handling
-    # Remove the potential default EHsc option cmake doesnt allow us to remove easily
+    # Remove the potential default EHsc option cmake doesn't allow us to remove easily
     string( REPLACE "/EHsc" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} )
     if( KICAD_WIN32_CONTEXT_WINFIBER )
     # /EHsc: ensure standard exception C++ unwinding is enabled, "extern C" can never throw exceptions
diff --git a/CMakeModules/BuildSteps/TokenList2DsnLexer.cmake b/CMakeModules/BuildSteps/TokenList2DsnLexer.cmake
index 78e711d087..e7e2f5b1eb 100644
--- a/CMakeModules/BuildSteps/TokenList2DsnLexer.cmake
+++ b/CMakeModules/BuildSteps/TokenList2DsnLexer.cmake
@@ -110,7 +110,7 @@ set( includeFileHeader
  * C++ does not put enum _values_ in separate namespaces unless the enum itself
  * is in a separate namespace.  All the token enums must be in separate namespaces
  * otherwise the C++ compiler will eventually complain if it sees more than one
- * DSNLEXER in the same compilation unit, say by mutliple header file inclusion.
+ * DSNLEXER in the same compilation unit, say by multiple header file inclusion.
  * Plus this also enables re-use of the same enum name T.  A typedef can always be used
  * to clarify which enum T is in play should that ever be a problem.  This is
  * unlikely since Parse() functions will usually only be exposed to one header
diff --git a/CMakeModules/FindwxWidgets.cmake b/CMakeModules/FindwxWidgets.cmake
index 5bfa48b9be..499a1360d9 100644
--- a/CMakeModules/FindwxWidgets.cmake
+++ b/CMakeModules/FindwxWidgets.cmake
@@ -977,7 +977,7 @@ if (_wx_lib_missing)
 endif()
 
 
-# Check if a specfic version was requested by find_package().
+# Check if a specific version was requested by find_package().
 if(wxWidgets_FOUND)
   find_file(_filename wx/version.h PATHS ${wxWidgets_INCLUDE_DIRS} NO_DEFAULT_PATH)
   DBG_MSG("_filename:  ${_filename}")
diff --git a/CMakeModules/GetPrerequisites.cmake b/CMakeModules/GetPrerequisites.cmake
index 5771100d46..3d646d0306 100644
--- a/CMakeModules/GetPrerequisites.cmake
+++ b/CMakeModules/GetPrerequisites.cmake
@@ -86,7 +86,7 @@ to 1 all prerequisites will be found recursively, if set to 0 only
 direct prerequisites are listed.  <exclude_system> must be 0 or 1
 indicating whether to include or exclude "system" prerequisites.  With
 <verbose> set to 0 only the full path names of the prerequisites are
-printed, set to 1 extra informatin will be displayed.
+printed, set to 1 and extra information will be displayed.
 
 ::
 
diff --git a/CMakeModules/KiCadVersion.cmake b/CMakeModules/KiCadVersion.cmake
index ba1d9af0b2..be6607e470 100644
--- a/CMakeModules/KiCadVersion.cmake
+++ b/CMakeModules/KiCadVersion.cmake
@@ -40,5 +40,5 @@
 set( KICAD_SEMANTIC_VERSION "5.99.0-unknown" )
 
 # Default the version to the semantic version.
-# This is overriden by the git repository tag though (if using git)
+# This is overridden by the git repository tag though (if using git)
 set( KICAD_VERSION "${KICAD_SEMANTIC_VERSION}" )
diff --git a/CMakeModules/UsewxWidgets.cmake b/CMakeModules/UsewxWidgets.cmake
index 9ecfff0cca..a0f2e8632b 100644
--- a/CMakeModules/UsewxWidgets.cmake
+++ b/CMakeModules/UsewxWidgets.cmake
@@ -6,7 +6,7 @@
 #  # Note that for MinGW users the order of libs is important!
 #  FIND_PACKAGE(wxWidgets REQUIRED net gl core base)
 #  INCLUDE(${wxWidgets_USE_FILE})
-#  # and for each of your dependant executable/library targets:
+#  # and for each of your dependent executable/library targets:
 #  TARGET_LINK_LIBRARIES(<YourTarget> ${wxWidgets_LIBRARIES})
 #
 # DEPRECATED
diff --git a/CMakeModules/config.h.cmake b/CMakeModules/config.h.cmake
index cd3e639248..77282dd093 100644
--- a/CMakeModules/config.h.cmake
+++ b/CMakeModules/config.h.cmake
@@ -7,7 +7,7 @@
 
 #cmakedefine HAVE_STRNCASECMP
 
-#cmakedefine HAVE_STRTOKR       // spelled odly to differ from wx's similar test
+#cmakedefine HAVE_STRTOKR       // spelled oddly to differ from wx's similar test
 
 // Handle platform differences in math.h
 #cmakedefine HAVE_MATH_H
diff --git a/bitmap2component/bitmap2component.cpp b/bitmap2component/bitmap2component.cpp
index 780b824523..1c995dafa7 100644
--- a/bitmap2component/bitmap2component.cpp
+++ b/bitmap2component/bitmap2component.cpp
@@ -402,7 +402,7 @@ void BITMAPCONV_INFO::createOutputData( BMP2CMP_MOD_LAYER aModLayer )
 
     // The layer name has meaning only for .kicad_mod files.
     // For these files the header creates 2 invisible texts: value and ref
-    // (needed but not usefull) on silk screen layer
+    // (needed but not useful) on silk screen layer
     outputDataHeader( getBoardLayerName( MOD_LYR_FSILKS ) );
 
     bool main_outline = true;
diff --git a/bitmaps_png/icons/mk_icn.sh b/bitmaps_png/icons/mk_icn.sh
index 87e4936bc6..941076008f 100644
--- a/bitmaps_png/icons/mk_icn.sh
+++ b/bitmaps_png/icons/mk_icn.sh
@@ -36,7 +36,7 @@ do
 	echo "file $fl converted."
 done
 
-# covert .png files into .ico files using "icotool" from icoutils
+# convert .png files into .ico files using "icotool" from icoutils
 # (see http://www.nongnu.org/icoutils/)
 cd ../icons
 for fl in $ICON_FILES
diff --git a/common/dialogs/dialog_color_picker.cpp b/common/dialogs/dialog_color_picker.cpp
index 2a31857ee6..cb602f2503 100644
--- a/common/dialogs/dialog_color_picker.cpp
+++ b/common/dialogs/dialog_color_picker.cpp
@@ -382,7 +382,7 @@ void DIALOG_COLOR_PICKER::drawRGBPalette()
     // Reserve room to draw cursors inside the bitmap
     half_size -= m_cursorsSize/2;
 
-    // Draw the 3 RGB cursors, usiing white color to make them always visible:
+    // Draw the 3 RGB cursors, using white color to make them always visible:
     wxPen pen( wxColor( 255, 255, 255 ) );
     wxBrush brush( wxColor( 0, 0, 0 ), wxBRUSHSTYLE_TRANSPARENT );
     bitmapDC.SetPen( pen );
diff --git a/common/dialogs/panel_common_settings_base.h b/common/dialogs/panel_common_settings_base.h
index 12cfc9ad78..3082c15368 100644
--- a/common/dialogs/panel_common_settings_base.h
+++ b/common/dialogs/panel_common_settings_base.h
@@ -87,7 +87,7 @@ class PANEL_COMMON_SETTINGS_BASE : public RESETTABLE_PANEL
 		wxStaticText* m_staticText17;
 		wxCheckBox* m_cbRememberOpenFiles;
 
-		// Virtual event handlers, override them in your derived class
+		// Virtual event handlers, overide them in your derived class
 		virtual void OnTextEditorClick( wxCommandEvent& event ) { event.Skip(); }
 		virtual void onUpdateUIPdfPath( wxUpdateUIEvent& event ) { event.Skip(); }
 		virtual void OnPDFViewerClick( wxCommandEvent& event ) { event.Skip(); }
diff --git a/common/dialogs/wx_html_report_box.h b/common/dialogs/wx_html_report_box.h
index cc849a5414..d3644c1aac 100644
--- a/common/dialogs/wx_html_report_box.h
+++ b/common/dialogs/wx_html_report_box.h
@@ -50,7 +50,7 @@ public:
 
     /**
      * Build the HTML messages page.
-     * Call it if the immediate mode is not actived to be able to display them
+     * Call it if the immediate mode is not activated to be able to display them
      */
     void Flush();
 
diff --git a/common/eda_base_frame.cpp b/common/eda_base_frame.cpp
index 8ce9c6069a..faba611fdf 100644
--- a/common/eda_base_frame.cpp
+++ b/common/eda_base_frame.cpp
@@ -573,7 +573,7 @@ void EDA_BASE_FRAME::LoadWindowState( const WINDOW_STATE& aState )
         // an upper corner is not allowed
         #define SCREEN_BORDER_REGION 0.10
 #else
-        // Windows uses a very rectangular clearly defined display region, there is no ambigious "screen border region"
+        // Windows uses a very rectangular clearly defined display region, there is no ambiguous "screen border region"
         // GetClientArea already accounts for the taskbar stealing display space
         #define SCREEN_BORDER_REGION 0
 #endif
diff --git a/common/eda_dde.cpp b/common/eda_dde.cpp
index fb31b37c94..790d436d8a 100644
--- a/common/eda_dde.cpp
+++ b/common/eda_dde.cpp
@@ -218,7 +218,7 @@ private:
             wxSocketClient* sock_client;
             wxIPV4address   addr;
 
-            // Create a connexion
+            // Create a connection
             addr.Hostname( HOSTNAME );
             addr.Service( port );
 
diff --git a/common/eda_rect.cpp b/common/eda_rect.cpp
index ea666ee3ff..0b3e1c42ce 100644
--- a/common/eda_rect.cpp
+++ b/common/eda_rect.cpp
@@ -94,7 +94,7 @@ bool EDA_RECT::Intersects( const wxPoint& aPoint1, const wxPoint& aPoint2 ) cons
     point4.x = GetOrigin().x;
     point4.y = GetEnd().y;
 
-    //Only need to test 3 sides since a straight line cant enter and exit on same side
+    //Only need to test 3 sides since a straight line can't enter and exit on same side
     if( SegmentIntersectsSegment( aPoint1, aPoint2, GetOrigin(), point2 ) )
         return true;
 
diff --git a/common/gal/opengl/opengl_gal.cpp b/common/gal/opengl/opengl_gal.cpp
index 72d58beb33..0fd33a35d5 100644
--- a/common/gal/opengl/opengl_gal.cpp
+++ b/common/gal/opengl/opengl_gal.cpp
@@ -277,7 +277,7 @@ OPENGL_GAL::OPENGL_GAL( GAL_DISPLAY_OPTIONS& aDisplayOptions, wxWindow* aParent,
 
     SetTarget( TARGET_NONCACHED );
 
-    // Avoid unitialized variables:
+    // Avoid uninitialized variables:
     ufm_worldPixelSize = 1;
     ufm_screenPixelSize = 1;
     ufm_pixelSizeMultiplier = 1;
diff --git a/common/gbr_metadata.cpp b/common/gbr_metadata.cpp
index 8ef1c16b50..a18664fe12 100644
--- a/common/gbr_metadata.cpp
+++ b/common/gbr_metadata.cpp
@@ -637,7 +637,7 @@ bool FormatNetAttribute( std::string& aPrintedText, std::string& aLastNetAttribu
         // the entire dictionary is cleared
         // If m_TryKeepPreviousAttributes is true, only the no longer existing attribute
         // is cleared.
-        // Note: to avoid interaction beteween clear attributes and set attributes
+        // Note: to avoid interaction between clear attributes and set attributes
         // the clear attribute is inserted first.
         bool clearDict = false;
 
diff --git a/common/gr_basic.cpp b/common/gr_basic.cpp
index 996d402c99..30ce90e3f8 100644
--- a/common/gr_basic.cpp
+++ b/common/gr_basic.cpp
@@ -306,7 +306,7 @@ void GRLineArray( EDA_RECT* aClipBox, wxDC* aDC, std::vector<wxPoint>& aLines,
         aClipBox->Inflate(-aWidth/2);
 }
 
-// Draw  the outline of a thick segment wih rounded ends
+// Draw the outline of a thick segment with rounded ends
 void GRCSegm( EDA_RECT* ClipBox, wxDC* DC, int x1, int y1, int x2, int y2,
               int width, int aPenSize, COLOR4D Color )
 {
diff --git a/common/kiway_express.cpp b/common/kiway_express.cpp
index c5e1bcba08..1cfee377f1 100644
--- a/common/kiway_express.cpp
+++ b/common/kiway_express.cpp
@@ -39,7 +39,7 @@
         // All things in due course.
 const wxEventType KIWAY_EXPRESS::wxEVENT_ID = wxNewEventType();
 #else
-const wxEventType KIWAY_EXPRESS::wxEVENT_ID = 30000;    // commmon accross all link images, hopefully unique.
+const wxEventType KIWAY_EXPRESS::wxEVENT_ID = 30000;    // common across all link images, hopefully unique.
 #endif
 
 
diff --git a/common/kiway_player.cpp b/common/kiway_player.cpp
index 99f79bed5a..ccb1d043ae 100644
--- a/common/kiway_player.cpp
+++ b/common/kiway_player.cpp
@@ -104,7 +104,7 @@ bool KIWAY_PLAYER::ShowModal( wxString* aResult, wxWindow* aResultantFocusWindow
     SetFocus();
 
     {
-        // We have to disable all frames but the the modal one.
+        // We have to disable all frames but the modal one.
         // wxWindowDisabler does that, but it also disables all top level windows
         // We do not want to disable top level windows which are child of the modal one,
         // if they are enabled.
diff --git a/common/plotters/HPGL_plotter.cpp b/common/plotters/HPGL_plotter.cpp
index 6858d8ea5f..5d779e600d 100644
--- a/common/plotters/HPGL_plotter.cpp
+++ b/common/plotters/HPGL_plotter.cpp
@@ -259,7 +259,7 @@ bool HPGL_PLOTTER::StartPlot()
     wxASSERT( m_outputFile );
     fprintf( m_outputFile, "IN;VS%d;PU;PA;SP%d;\n", penSpeed, penNumber );
 
-    // Set HPGL Pen Thickness (in mm) (usefull in polygon fill command)
+    // Set HPGL Pen Thickness (in mm) (useful in polygon fill command)
     double penThicknessMM = userToDeviceSize( penDiameter )/40;
     fprintf( m_outputFile, "PT %.1f;\n", penThicknessMM );
 
diff --git a/common/plotters/PDF_plotter.cpp b/common/plotters/PDF_plotter.cpp
index 4ee3913b90..9252db4252 100644
--- a/common/plotters/PDF_plotter.cpp
+++ b/common/plotters/PDF_plotter.cpp
@@ -757,7 +757,7 @@ bool PDF_PLOTTER::EndPlot()
 
     if( m_title.IsEmpty() )
     {
-        // Windows uses '\' and other platforms ue '/' as separator
+        // Windows uses '\' and other platforms use '/' as separator
         m_title = m_filename.AfterLast( '\\');
         m_title = m_title.AfterLast( '/');
     }
diff --git a/common/plotters/PS_plotter.cpp b/common/plotters/PS_plotter.cpp
index 0c898b1cb0..49ac0b877b 100644
--- a/common/plotters/PS_plotter.cpp
+++ b/common/plotters/PS_plotter.cpp
@@ -326,7 +326,7 @@ std::string PSLIKE_PLOTTER::encodeStringForPlotter( const wxString& aUnicode )
 
     for( unsigned i = 0; i < aUnicode.Len(); i++ )
     {
-        // Lazyness made me use stdio buffering yet another time...
+        // Laziness made me use stdio buffering yet another time...
         wchar_t ch = aUnicode[i];
 
         if( ch < 256 )
diff --git a/common/plotters/gbr_plotter_aperture_macros.h b/common/plotters/gbr_plotter_aperture_macros.h
index e8bc8ec6f6..9dd463d4ca 100644
--- a/common/plotters/gbr_plotter_aperture_macros.h
+++ b/common/plotters/gbr_plotter_aperture_macros.h
@@ -101,7 +101,7 @@
 4,1,4,$1,$2,$3,$4,$5,$6,$7,$8,$1,$2,$9*%\n"
 
 // A aperture macro to define a polygon by 5 corners
-// and a rotation angle (usefull for chamfered rect pads)
+// and a rotation angle (useful for chamfered rect pads)
 #define APER_MACRO_OUTLINE5P_NAME "Outline5P"
 
 #define APER_MACRO_OUTLINE5P_HEADER \
@@ -115,7 +115,7 @@
 4,1,5,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$1,$2,$11*%\n"
 
 // A aperture macro to define a polygon by 6 corners
-// and a rotation angle (usefull for chamfered rect pads)
+// and a rotation angle (useful for chamfered rect pads)
 #define APER_MACRO_OUTLINE6P_NAME "Outline6P"
 
 #define APER_MACRO_OUTLINE6P_HEADER \
@@ -129,7 +129,7 @@
 4,1,6,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$1,$2,$13*%\n"
 
 // A aperture macro to define a polygon by 7 corners
-// and a rotation angle (usefull for chamfered rect pads)
+// and a rotation angle (useful for chamfered rect pads)
 #define APER_MACRO_OUTLINE7P_NAME "Outline7P"
 
 #define APER_MACRO_OUTLINE7P_HEADER \
@@ -143,7 +143,7 @@
 4,1,7,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$1,$2,$15*%\n"
 
 // A aperture macro to define a polygon by 8 corners
-// and a rotation angle (usefull for chamfered rect pads)
+// and a rotation angle (useful for chamfered rect pads)
 #define APER_MACRO_OUTLINE8P_NAME "Outline8P"
 
 #define APER_MACRO_OUTLINE8P_HEADER \
diff --git a/common/plotters/plotter_gerber.h b/common/plotters/plotter_gerber.h
index 1469471526..a521069779 100644
--- a/common/plotters/plotter_gerber.h
+++ b/common/plotters/plotter_gerber.h
@@ -332,7 +332,7 @@ protected:
      */
     void clearNetAttribute();
 
-    // the attributes dictionary created/modifed by %TO, attached to objects, when they are created
+    // the attributes dictionary created/modified by %TO, attached to objects, when they are created
     // by D01, D03, G36/G37 commands
     // standard attributes are .P, .C and .N
     // this is used by gerber readers when creating a new object. Cleared by %TD command
diff --git a/common/preview_items/two_point_assistant.cpp b/common/preview_items/two_point_assistant.cpp
index ceedd5b4e2..7664236959 100644
--- a/common/preview_items/two_point_assistant.cpp
+++ b/common/preview_items/two_point_assistant.cpp
@@ -68,7 +68,7 @@ void TWO_POINT_ASSISTANT::ViewDraw( int aLayer, KIGFX::VIEW* aView ) const
 
     if( radVec.x == 0 && radVec.y == 0 )
     {
-        return; // text next to cursor jumps alot around in this corner case
+        return; // text next to cursor jumps around a lot in this corner case
     }
 
     gal.ResetTextAttributes();
diff --git a/common/richio.cpp b/common/richio.cpp
index 04bf898bb3..d888aa0607 100644
--- a/common/richio.cpp
+++ b/common/richio.cpp
@@ -117,7 +117,7 @@ LINE_READER::LINE_READER( unsigned aMaxLineLength ) :
             m_capacity = aMaxLineLength+1;
 
         // Be sure there is room for a null EOL char, so reserve at least capacity+1 bytes
-        // to ensure capacity line lenght and avoid corner cases
+        // to ensure capacity line length and avoid corner cases
         // Use capacity+5 to cover and corner case
         m_line = new char[m_capacity+5];
 
@@ -145,7 +145,7 @@ void LINE_READER::expandCapacity( unsigned aNewsize )
 
         // resize the buffer, and copy the original data
         // Be sure there is room for the null EOL char, so reserve capacity+1 bytes
-        // to ensure capacity line lenght. Use capacity+5 to cover and corner case
+        // to ensure capacity line length. Use capacity+5 to cover and corner case
         char* bigger = new char[m_capacity+5];
 
         wxASSERT( m_capacity >= m_length+1 );
@@ -476,7 +476,7 @@ std::string OUTPUTFORMATTER::Quotes( const std::string& aWrapee ) const
 std::string OUTPUTFORMATTER::Quotew( const wxString& aWrapee ) const
 {
     // wxStrings are always encoded as UTF-8 as we convert to a byte sequence.
-    // The non-virutal function calls the virtual workhorse function, and if
+    // The non-virtual function calls the virtual workhorse function, and if
     // a different quoting or escaping strategy is desired from the standard,
     // a derived class can overload Quotes() above, but
     // should never be a reason to overload this Quotew() here.
diff --git a/common/status_popup.cpp b/common/status_popup.cpp
index f027e1b4c4..57d5a78265 100644
--- a/common/status_popup.cpp
+++ b/common/status_popup.cpp
@@ -43,7 +43,7 @@ STATUS_POPUP::STATUS_POPUP( wxWindow* aParent ) :
 
 #ifdef __WXOSX_MAC__
     // Key events from popups don't get put through the wxWidgets event system on OSX,
-    // so we have to fall back to the CHAR_HOOK to forwared hotkeys from the popup to
+    // so we have to fall back to the CHAR_HOOK to forward hotkeys from the popup to
     // the canvas / frame.
     Connect( wxEVT_CHAR_HOOK, wxKeyEventHandler( STATUS_POPUP::onCharHook ), nullptr, this );
 #endif
diff --git a/common/tool/tool_dispatcher.cpp b/common/tool/tool_dispatcher.cpp
index 4471355995..973c73ebe8 100644
--- a/common/tool/tool_dispatcher.cpp
+++ b/common/tool/tool_dispatcher.cpp
@@ -373,7 +373,7 @@ OPT<TOOL_EVENT> TOOL_DISPATCHER::GetToolEvent( wxKeyEvent* aKeyEvent, bool* keyI
         // char events for ASCII letters in this case carry codes corresponding to the ASCII
         // value of Ctrl-Latter, i.e. 1 for Ctrl-A, 2 for Ctrl-B and so on until 26 for Ctrl-Z.
         // They are remapped here to be more easy to handle in code
-        // Note also on OSX wxWidgets has a differnt behavior and the mapping is made
+        // Note also on OSX wxWidgets has a different behavior and the mapping is made
         // only for ctrl+'A' to ctlr+'Z' (unicode code return 'A' to 'Z').
         // Others OS return WXK_CONTROL_A to WXK_CONTROL_Z, and Ctrl+'M' returns the same code as
         // the return key, so the remapping does not use the unicode key value.
@@ -393,7 +393,7 @@ OPT<TOOL_EVENT> TOOL_DISPATCHER::GetToolEvent( wxKeyEvent* aKeyEvent, bool* keyI
         // OSX maps a bunch of commonly used extended-ASCII characters onto the keyboard
         // using the ALT key.  Since we use ALT for some of our hotkeys, we need to map back
         // to the underlying keys.  The kVK_ANSI_* values come from Apple and are said to be
-        // hardware independant.
+        // hardware independent.
         switch( aKeyEvent->GetRawKeyCode() )
         {
         case /* kVK_ANSI_1     */ 0x12: key = '1'; break;
diff --git a/common/view/wx_view_controls.cpp b/common/view/wx_view_controls.cpp
index 715fd0a2bc..e9bd1401d9 100644
--- a/common/view/wx_view_controls.cpp
+++ b/common/view/wx_view_controls.cpp
@@ -766,7 +766,7 @@ bool WX_VIEW_CONTROLS::handleAutoPanning( const wxMouseEvent& aEvent )
     {
         // last cursor move event came from keyboard cursor control. If auto-panning is enabled and
         // the next position is inside the autopan zone, check if it really came from a mouse event, otherwise
-        // disable autopan temporarily. Also temporaly disable autopan if the cursor is in the autopan zone
+        // disable autopan temporarily. Also temporarily disable autopan if the cursor is in the autopan zone
         // because the application warped the cursor.
 
         m_cursorWarped = false;
diff --git a/common/widgets/mathplot.cpp b/common/widgets/mathplot.cpp
index d120b82191..dceb91e5e3 100644
--- a/common/widgets/mathplot.cpp
+++ b/common/widgets/mathplot.cpp
@@ -1341,7 +1341,7 @@ void mpScaleXBase::Plot( wxDC& dc, mpWindow& w )
         wxCoord maxYpx  = m_drawOutsideMargins ? w.GetScrY() : w.GetScrY() - w.GetMarginBottom();
 
         // int tmp=-65535;
-        int labelH = m_maxLabelHeight;    // Control labels heigth to decide where to put axis name (below labels or on top of axis)
+        int labelH = m_maxLabelHeight;    // Control labels height to decide where to put axis name (below labels or on top of axis)
 
         // int maxExtent = tc.MaxLabelWidth();
         for( int n = 0; n < tickCount(); n++ )
@@ -1872,7 +1872,7 @@ void mpWindow::OnMouseWheel( wxMouseEvent& event )
 }
 
 
-// If the user "drags" with the right buttom pressed, do "pan"
+// If the user "drags" with the right button pressed, do "pan"
 // JLB
 void mpWindow::OnMouseMove( wxMouseEvent& event )
 {
diff --git a/common/wildcards_and_files_ext.cpp b/common/wildcards_and_files_ext.cpp
index 61d8e31127..677d94a3f6 100644
--- a/common/wildcards_and_files_ext.cpp
+++ b/common/wildcards_and_files_ext.cpp
@@ -103,7 +103,7 @@ wxString AddFileExtListToFilter( const std::vector<std::string>& aExts )
 
     files_filter << ")|*.";
 
-    // Add extensions to the filter list, using a formated string (GTK specific):
+    // Add extensions to the filter list, using a formatted string (GTK specific):
     bool first = true;
     for( const auto& ext : aExts )
     {
diff --git a/cvpcb/dialogs/fp_conflict_assignment_selector.cpp b/cvpcb/dialogs/fp_conflict_assignment_selector.cpp
index 7f53b42f41..1dcd01d97c 100644
--- a/cvpcb/dialogs/fp_conflict_assignment_selector.cpp
+++ b/cvpcb/dialogs/fp_conflict_assignment_selector.cpp
@@ -76,8 +76,8 @@ int DIALOG_FP_CONFLICT_ASSIGNMENT_SELECTOR::GetSelection( const wxString& aRefer
 void DIALOG_FP_CONFLICT_ASSIGNMENT_SELECTOR::OnColumnClick( wxListEvent& event )
 {
     // When clicking on the column title:
-    // when it is the COL_SELCMP column, set all item choices to cmp file assigment.
-    // when it is the COL_SELSCH column, set all item choices to schematic assigment.
+    // when it is the COL_SELCMP column, set all item choices to cmp file assignment.
+    // when it is the COL_SELSCH column, set all item choices to schematic assignment.
 
     int column = event.GetColumn();
     int colclr, colset;
diff --git a/demos/python_scripts_examples/action_menu_add_automatic_border.py b/demos/python_scripts_examples/action_menu_add_automatic_border.py
index e447db4fb2..ff5526e36f 100644
--- a/demos/python_scripts_examples/action_menu_add_automatic_border.py
+++ b/demos/python_scripts_examples/action_menu_add_automatic_border.py
@@ -31,7 +31,7 @@ class add_automatic_border( ActionPlugin ):
     How to use:
     - add all your modules/track/area/text...
     - Call the plugin
-    - An including PCB edge will be created automaticaly
+    - An including PCB edge will be created automatically
     """
 
     def defaults( self ):
@@ -44,7 +44,7 @@ class add_automatic_border( ActionPlugin ):
         """
         self.name = "Add or update automatic PCB edges"
         self.category = "Modify PCB"
-        self.description = "Automaticaly add or update edges on an existing PCB"
+        self.description = "Automatically add or update edges on an existing PCB"
         # Offset between existing elements and edge we will add/update (fixed at 2.54mm)
         self.offset = FromMM( 2.54 )
         # Attach to a grid step (fixed at 2.54mm)
diff --git a/demos/python_scripts_examples/action_menu_text_by_date.py b/demos/python_scripts_examples/action_menu_text_by_date.py
index cc9630d682..0606dbf27e 100644
--- a/demos/python_scripts_examples/action_menu_text_by_date.py
+++ b/demos/python_scripts_examples/action_menu_text_by_date.py
@@ -31,7 +31,7 @@ class text_by_date( pcbnew.ActionPlugin ):
     How to use:
     - Add a text on your board with the content '$date$'
     - Call the plugin
-    - Automaticaly the date will be added to the text (format YYYY-MM-DD)
+    - Automatically the date will be added to the text (format YYYY-MM-DD)
     """
 
     def defaults( self ):
@@ -44,7 +44,7 @@ class text_by_date( pcbnew.ActionPlugin ):
         """
         self.name = "Add date on PCB"
         self.category = "Modify PCB"
-        self.description = "Automaticaly add date on an existing PCB"
+        self.description = "Automatically add date on an existing PCB"
 
     def Run( self ):
         pcb = pcbnew.GetBoard()
diff --git a/eeschema/default_values.h b/eeschema/default_values.h
index 03f8a194d2..fc74a1a86b 100644
--- a/eeschema/default_values.h
+++ b/eeschema/default_values.h
@@ -57,7 +57,7 @@
 ///< The default junction diameter in mils. (can be changed in preference menu)
 #define DEFAULT_JUNCTION_DIAM 36
 
-///< The default bus and wire enty size in mils.
+///< The default bus and wire entry size in mils.
 #define DEFAULT_SCH_ENTRY_SIZE 100
 
 ///< The default text size in mils. (can be changed in preference menu)
diff --git a/eeschema/dialogs/dialog_edit_one_field.h b/eeschema/dialogs/dialog_edit_one_field.h
index da2c743273..344c1d3896 100644
--- a/eeschema/dialogs/dialog_edit_one_field.h
+++ b/eeschema/dialogs/dialog_edit_one_field.h
@@ -70,7 +70,7 @@ protected:
      * this function may need to be moved to the subclasses to access m_field and check for
      * the field type if more select actions are desired.
      *
-     * @param aEvent is the the wX event thrown when the button is clicked, this isn't used
+     * @param aEvent is the wX event thrown when the button is clicked, this isn't used
      */
     void OnTextValueSelectButtonClick( wxCommandEvent& aEvent ) override;
 
diff --git a/eeschema/dialogs/dialog_pin_properties.cpp b/eeschema/dialogs/dialog_pin_properties.cpp
index cc042dc5df..4765b1a8a6 100644
--- a/eeschema/dialogs/dialog_pin_properties.cpp
+++ b/eeschema/dialogs/dialog_pin_properties.cpp
@@ -211,7 +211,7 @@ DIALOG_PIN_PROPERTIES::DIALOG_PIN_PROPERTIES( SYMBOL_EDIT_FRAME* parent, LIB_PIN
     finishDialogSettings();
 
     // On some window managers (Unity, XFCE) the dialog is not always raised, depending on
-    // how it is is run.
+    // how it is run.
     Raise();
 
     m_initialized = true;
diff --git a/eeschema/dialogs/dialog_sheet_properties.cpp b/eeschema/dialogs/dialog_sheet_properties.cpp
index 0173ecd732..fe0e1abfa4 100644
--- a/eeschema/dialogs/dialog_sheet_properties.cpp
+++ b/eeschema/dialogs/dialog_sheet_properties.cpp
@@ -549,7 +549,7 @@ bool DIALOG_SHEET_PROPERTIES::onSheetFilenameChanged( const wxString& aNewFilena
         {
             SCH_PLUGIN::SCH_PLUGIN_RELEASER pi( SCH_IO_MGR::FindPlugin( SCH_IO_MGR::SCH_KICAD ) );
 
-            // If the the associated screen is shared by more than one sheet, do not
+            // If the associated screen is shared by more than one sheet, do not
             // change the filename of the corresponding screen here.
             // (a new screen will be created later)
             // if it is not shared, update the filename
@@ -572,7 +572,7 @@ bool DIALOG_SHEET_PROPERTIES::onSheetFilenameChanged( const wxString& aNewFilena
                 return false;
             }
 
-            // If the the associated screen is shared by more than one sheet, remove the
+            // If the associated screen is shared by more than one sheet, remove the
             // screen and reload the file to a new screen.  Failure to do this will trash
             // the screen reference counting in complex hierarchies.
             if( m_sheet->GetScreenCount() > 1 )
diff --git a/eeschema/dialogs/dialog_spice_model.cpp b/eeschema/dialogs/dialog_spice_model.cpp
index 4222e4a19f..3aa52f3dc1 100644
--- a/eeschema/dialogs/dialog_spice_model.cpp
+++ b/eeschema/dialogs/dialog_spice_model.cpp
@@ -858,7 +858,7 @@ void DIALOG_SPICE_MODEL::loadLibrary( const wxString& aFilePath )
     file.Open( filePath.GetFullPath() );
     int line_nr = 0;
 
-    // Stores the libray content. It will be displayed after reading the full library
+    // Stores the library content. It will be displayed after reading the full library
     wxString fullText;
 
     // Process the file, looking for components
diff --git a/eeschema/dialogs/dialog_symbol_remap.cpp b/eeschema/dialogs/dialog_symbol_remap.cpp
index 6276f9cc11..605f4aebae 100644
--- a/eeschema/dialogs/dialog_symbol_remap.cpp
+++ b/eeschema/dialogs/dialog_symbol_remap.cpp
@@ -132,7 +132,7 @@ void DIALOG_SYMBOL_REMAP::OnRemapSymbols( wxCommandEvent& aEvent )
 
     PART_LIBS::LibNamesAndPaths( &Prj(), true, &paths, &libNames );
 
-    // Reload the the cache symbol library.
+    // Reload the cache symbol library.
     Prj().SetElem( PROJECT::ELEM_SCH_PART_LIBS, NULL );
     Prj().SchLibs();
 
diff --git a/eeschema/dialogs/panel_eeschema_template_fieldnames.h b/eeschema/dialogs/panel_eeschema_template_fieldnames.h
index ba5a398652..61ee7d5257 100644
--- a/eeschema/dialogs/panel_eeschema_template_fieldnames.h
+++ b/eeschema/dialogs/panel_eeschema_template_fieldnames.h
@@ -38,7 +38,7 @@ protected:
     /**
      * Adds a new template fieldname (with default values) to the template fieldnames data.
      *
-     * Process the wxWidgets @a event produced when the user presses the Add buton for the
+     * Process the wxWidgets @a event produced when the user presses the Add button for the
      * template fieldnames control.
      *
      * @param event The wxWidgets produced event information
diff --git a/eeschema/general.h b/eeschema/general.h
index 77afc598af..c0e1abd879 100644
--- a/eeschema/general.h
+++ b/eeschema/general.h
@@ -39,7 +39,7 @@ class TRANSFORM;
  * transform matrix.  The default matrix is useful to draw lib entries with
  * using this default matrix ( no rotation, no mirror but Y axis is bottom to top, and
  * Y draw axis is to to bottom so we must have a default matrix that reverses
- * the Y coordinate and keeps the X coordiate
+ * the Y coordinate and keeps the X coordinate
  */
 extern TRANSFORM DefaultTransform;
 
diff --git a/eeschema/getpart.cpp b/eeschema/getpart.cpp
index 2b94947d20..33e9121db2 100644
--- a/eeschema/getpart.cpp
+++ b/eeschema/getpart.cpp
@@ -94,7 +94,7 @@ PICKED_SYMBOL SCH_BASE_FRAME::PickSymbolFromLibTree( const SCHLIB_FILTER* aFilte
     std::unique_lock<std::mutex> dialogLock( DIALOG_CHOOSE_SYMBOL::g_Mutex, std::defer_lock );
     SYMBOL_LIB_TABLE*            libs = Prj().SchSymbolLibTable();
 
-    // One DIALOG_CHOOSE_SYMBOL dialog at a time.  User probaby can't handle more anyway.
+    // One DIALOG_CHOOSE_SYMBOL dialog at a time.  User probably can't handle more anyway.
     if( !dialogLock.try_lock() )
         return PICKED_SYMBOL();
 
diff --git a/eeschema/hierarch.cpp b/eeschema/hierarch.cpp
index 160002f8e0..c198c1ee8f 100644
--- a/eeschema/hierarch.cpp
+++ b/eeschema/hierarch.cpp
@@ -128,7 +128,7 @@ HIERARCHY_NAVIG_DLG::HIERARCHY_NAVIG_DLG( SCH_EDIT_FRAME* aParent ) :
 
     SetClientSize( tree_size );
 
-    // manage the ESC key to close the dialog, because thre is no Cancel button
+    // manage the ESC key to close the dialog, because there is no Cancel button
     // in dialog
     m_Tree->Connect( wxEVT_CHAR, wxKeyEventHandler( HIERARCHY_TREE::onChar ) );
 
diff --git a/eeschema/lib_item.h b/eeschema/lib_item.h
index dc3fa7d523..aa21f27264 100644
--- a/eeschema/lib_item.h
+++ b/eeschema/lib_item.h
@@ -74,7 +74,7 @@ public:
     /**
      * The list of flags used by the #compare function.
      *
-     * - NORMAL This compares everthing between two #LIB_ITEM objects.
+     * - NORMAL This compares everything between two #LIB_ITEM objects.
      * - UNIT This compare flag ignores unit and convert and pin number information when
      *        comparing #LIB_ITEM objects for unit comparison.
      */
@@ -285,7 +285,7 @@ protected:
      * @param aOther A reference to the other #LIB_ITEM to compare the arc against.
      * @param aCompareFlags The flags used to perform the comparison.
      *
-     * @return An integer value less than 0 if the object is less than \a aOther ojbect,
+     * @return An integer value less than 0 if the object is less than \a aOther object,
      *         zero if the object is equal to \a aOther object, or greater than 0 if the
      *         object is greater than \a aOther object.
      */
diff --git a/eeschema/lib_symbol.cpp b/eeschema/lib_symbol.cpp
index 41a610b802..73c2092e21 100644
--- a/eeschema/lib_symbol.cpp
+++ b/eeschema/lib_symbol.cpp
@@ -42,7 +42,7 @@ int LIB_PART::m_subpartIdSeparator = 0;
 
 // the ascii char value to calculate the subpart symbol id from the part number:
 // 'A' or '1' usually. (to print U1.A or U1.1)
-// if this a a digit, a number is used as id symbol
+// if this a digit, a number is used as id symbol
 int LIB_PART::m_subpartFirstId = 'A';
 
 
@@ -788,7 +788,7 @@ bool LIB_PART::PinsConflictWith( const LIB_PART& aOtherPart, bool aTestNums, boo
                 continue;
 
             foundMatch = true;
-            break;                    // Match found so seach is complete.
+            break;                    // Match found so search is complete.
         }
 
         if( !foundMatch )
@@ -1296,7 +1296,7 @@ std::vector<struct PART_UNITS> LIB_PART::GetUniqueUnits()
     std::vector<LIB_ITEM*> currentDrawItems;
     std::vector<struct PART_UNITS> uniqueUnits;
 
-    // The first unit is guarenteed to be unique so always include it.
+    // The first unit is guaranteed to be unique so always include it.
     unit.m_unit = 1;
     unit.m_convert = 1;
     unit.m_items = GetUnitItems( 1, 1 );
diff --git a/eeschema/lib_symbol.h b/eeschema/lib_symbol.h
index 3d6e6663f3..cda92f9c04 100644
--- a/eeschema/lib_symbol.h
+++ b/eeschema/lib_symbol.h
@@ -66,7 +66,7 @@ struct PART_DRAW_OPTIONS
     bool draw_hidden_fields;        // Whether to draw "hidden" fields
     bool show_elec_type;            // Whether to show the pin electrical type
     bool show_connect_point;        // Whether to show the pin connect point marker (small circle)
-                                    // usefull in dialog pin properties
+                                    // useful in dialog pin properties
 
     PART_DRAW_OPTIONS()
     {
diff --git a/eeschema/plugins/python_scripts/README-bom.txt b/eeschema/plugins/python_scripts/README-bom.txt
index 7a53d7d7da..6066ca802d 100644
--- a/eeschema/plugins/python_scripts/README-bom.txt
+++ b/eeschema/plugins/python_scripts/README-bom.txt
@@ -18,7 +18,7 @@ If the python comment
     @package
     some comments
 """
-is added to the begining of the python script, the comment will be displayed
+is added to the beginning of the python script, the comment will be displayed
 in Eescheam, in the BOM dialog
 
 For instance:
diff --git a/eeschema/plugins/python_scripts/kicad_netlist_reader.py b/eeschema/plugins/python_scripts/kicad_netlist_reader.py
index 9192814376..424404d6ce 100644
--- a/eeschema/plugins/python_scripts/kicad_netlist_reader.py
+++ b/eeschema/plugins/python_scripts/kicad_netlist_reader.py
@@ -36,7 +36,7 @@ excluded_fields = [
     ]
 
 
-# You may exlude components from the BOM by either:
+# You may exclude components from the BOM by either:
 #
 # 1) adding a custom field named "Installed" to your components and filling it
 # with a value of "NU" (Normally Uninstalled).
@@ -73,7 +73,7 @@ excluded_footprints = [
 
 class xmlElement():
     """xml element which can represent all nodes of the netlist tree.  It can be
-    used to easily generate various output formats by propogating format
+    used to easily generate various output formats by propagating format
     requests to children recursively.
     """
     def __init__(self, name, parent=None):
@@ -410,7 +410,7 @@ class comp():
         """
         Kicad 5 uses tstamp keyword for time stamp (8 digits) as UUID
         Kicad 6 uses tstamps keyword for UUID and a multi unit symbol has more than one UUID
-        (UUIDs are separed by spaces)
+        (UUIDs are separated by spaces)
         """
         ret = self.element.get("tstamp")
         if ret == "":
@@ -445,7 +445,7 @@ class netlist():
 
         self._curr_element = None
 
-        # component blacklist regexs, made from exluded_* above.
+        # component blacklist regexs, made from excluded_* above.
         self.excluded_references = []
         self.excluded_values = []
         self.excluded_footprints = []
@@ -491,7 +491,7 @@ class netlist():
     def endDocument(self):
         """Called when the netlist document has been fully parsed"""
         # When the document is complete, the library parts must be linked to
-        # the components as they are seperate in the tree so as not to
+        # the components as they are separate in the tree so as not to
         # duplicate library part information for every component
         for c in self.components:
             for p in self.libparts:
@@ -578,8 +578,8 @@ class netlist():
         """Return a subset of all components, those that should show up in the BOM.
         Omit those that should not, by consulting the blacklists:
         excluded_values, excluded_refs, and excluded_footprints, which hold one
-        or more regular expressions.  If any of the the regular expressions match
-        the corresponding field's value in a component, then the component is exluded.
+        or more regular expressions.  If any of the regular expressions match
+        the corresponding field's value in a component, then the component is excluded.
         """
 
         # pre-compile all the regex expressions:
diff --git a/eeschema/plugins/xsl_scripts/bom_with_title_block_2_csv.xsl b/eeschema/plugins/xsl_scripts/bom_with_title_block_2_csv.xsl
index 16e5dec729..0f3b8e024c 100644
--- a/eeschema/plugins/xsl_scripts/bom_with_title_block_2_csv.xsl
+++ b/eeschema/plugins/xsl_scripts/bom_with_title_block_2_csv.xsl
@@ -8,7 +8,7 @@
     Arthur:
         Ronald Sousa HashDefineElectronics.com
 
-    Ouput Example:
+    Output Example:
         Source,
         Kicad Rev,  working director and file source
         Generated Date, date this file was generated
@@ -53,7 +53,7 @@
 
         <xsl:text>&nl;</xsl:text>
 
-        <!-- Ouput Root sheet project information -->
+        <!-- Output Root sheet project information -->
         <xsl:apply-templates select="/export/design/sheet[1]"/>
 
         <xsl:text>&nl;</xsl:text>
diff --git a/eeschema/plugins/xsl_scripts/netlist_form_OrcadPcb2.xsl b/eeschema/plugins/xsl_scripts/netlist_form_OrcadPcb2.xsl
index 301771103d..c0f2824ba0 100644
--- a/eeschema/plugins/xsl_scripts/netlist_form_OrcadPcb2.xsl
+++ b/eeschema/plugins/xsl_scripts/netlist_form_OrcadPcb2.xsl
@@ -134,7 +134,7 @@
 <xsl:template name="build_pin_list" match="pin">
     <xsl:param name="cmp_ref" select="0" />
 
-    <!-- write pin numner and separator -->
+    <!-- write pin number and separator -->
     <xsl:text>  ( </xsl:text>
     <xsl:value-of select="@num"/>
     <xsl:text> </xsl:text>
diff --git a/eeschema/project_rescue.cpp b/eeschema/project_rescue.cpp
index 5cd74389da..207c051595 100644
--- a/eeschema/project_rescue.cpp
+++ b/eeschema/project_rescue.cpp
@@ -837,7 +837,7 @@ bool SYMBOL_LIB_TABLE_RESCUER::WriteRescueLibrary( wxWindow *aParent )
     // Relaod the symbol library table.
     m_prj->SetElem( PROJECT::ELEM_SYMBOL_LIB_TABLE, NULL );
 
-    // This can only happen if the symbol library table file was currupted on write.
+    // This can only happen if the symbol library table file was corrupted on write.
     if( !m_prj->SchSymbolLibTable() )
         return false;
 
diff --git a/eeschema/sch_edit_frame.cpp b/eeschema/sch_edit_frame.cpp
index 7f85ec1484..ae304862dd 100644
--- a/eeschema/sch_edit_frame.cpp
+++ b/eeschema/sch_edit_frame.cpp
@@ -504,7 +504,7 @@ void SCH_EDIT_FRAME::SetSheetNumberAndCount()
     int              sheet_number      = 1;
     const KIID_PATH& current_sheetpath = GetCurrentSheet().Path();
 
-    // @todo Remove all psuedo page number system is left over from prior to real page number
+    // @todo Remove all pseudo page number system is left over from prior to real page number
     //       implementation.
     for( const SCH_SHEET_PATH& sheet : Schematic().GetSheets() )
     {
diff --git a/eeschema/sch_edit_frame.h b/eeschema/sch_edit_frame.h
index 5bee326fac..2627211387 100644
--- a/eeschema/sch_edit_frame.h
+++ b/eeschema/sch_edit_frame.h
@@ -694,7 +694,7 @@ public:
     /**
      * Create a new entry in undo list of commands.
      *
-     * @param aItemsList is the the list of items modified by the command to undo/
+     * @param aItemsList is the list of items modified by the command to undo/
      * @param aTypeCommand is the command type (see enum UNDO_REDO).
      * @param aAppend set to true to add the item to the previous undo list.
      */
diff --git a/eeschema/sch_file_versions.h b/eeschema/sch_file_versions.h
index 411cdb71a5..1139a39562 100644
--- a/eeschema/sch_file_versions.h
+++ b/eeschema/sch_file_versions.h
@@ -45,7 +45,7 @@
  * Symbol library file version.
  */
 //#define SEXPR_SCHEMATIC_FILE_VERSION 20200310  // Initial version.  Sheet fields were named
-                                                 // incorectly (using symbol field vocabulary).
+                                                 // incorrectly (using symbol field vocabulary).
 //#define SEXPR_SCHEMATIC_FILE_VERSION 20200506  // Used "page" instead of "paper" for paper
                                                  // sizes.
 //#define SEXPR_SCHEMATIC_FILE_VERSION 20200512  // Add support for exclude from BOM.
diff --git a/eeschema/sch_plugins/cadstar/cadstar_sch_archive_loader.cpp b/eeschema/sch_plugins/cadstar/cadstar_sch_archive_loader.cpp
index 68cf520217..f97d9bcc87 100644
--- a/eeschema/sch_plugins/cadstar/cadstar_sch_archive_loader.cpp
+++ b/eeschema/sch_plugins/cadstar/cadstar_sch_archive_loader.cpp
@@ -530,7 +530,7 @@ void CADSTAR_SCH_ARCHIVE_LOADER::loadSchematicSymbolInstances()
 
                 // In CADSTAR "GlobalSignal" is a special type of symbol which defines
                 // a Power Symbol. The "Alternate" name defines the default net name of
-                // the power symbol but this can be overriden in the design itself.
+                // the power symbol but this can be overridden in the design itself.
                 wxString libraryNetName = Library.SymbolDefinitions.at( symID ).Alternate;
 
                 // Name of the net that the symbol instance in CADSTAR refers to:
@@ -2579,7 +2579,7 @@ void CADSTAR_SCH_ARCHIVE_LOADER::applyTextSettings( EDA_TEXT*            aKiCadT
         wxPoint  pos;
 
         // Change the anchor point of the text item to make it match the same bounding box
-        // And correct the error introduced by the text offseting in KiCad
+        // And correct the error introduced by the text offsetting in KiCad
         switch( spin )
         {
         case LABEL_SPIN_STYLE::BOTTOM: pos = { bb.GetRight() - off, bb.GetTop()          }; break;
diff --git a/eeschema/sch_plugins/cadstar/cadstar_sch_archive_parser.h b/eeschema/sch_plugins/cadstar/cadstar_sch_archive_parser.h
index adb0ea8304..b88e1085e1 100644
--- a/eeschema/sch_plugins/cadstar/cadstar_sch_archive_parser.h
+++ b/eeschema/sch_plugins/cadstar/cadstar_sch_archive_parser.h
@@ -366,7 +366,7 @@ public:
             void Parse( XNODE* aNode, PARSER_CONTEXT* aContext ) override;
         };
 
-        struct BUS_TERM : PARSER ///< "BUSTERM" nodename (represents a connetion to a bus)
+        struct BUS_TERM : PARSER ///< "BUSTERM" nodename (represents a connection to a bus)
         {
             NETELEMENT_ID ID; ///< First two characters "BT"
             BUS_ID        BusID;
@@ -378,7 +378,7 @@ public:
             void Parse( XNODE* aNode, PARSER_CONTEXT* aContext ) override;
         };
 
-        struct BLOCK_TERM : PARSER ///< "BLOCKTERM" nodename (represents a connetion to a block)
+        struct BLOCK_TERM : PARSER ///< "BLOCKTERM" nodename (represents a connection to a block)
         {
             NETELEMENT_ID ID; ///< First four characters "BLKT"
             BLOCK_ID      BlockID;
diff --git a/eeschema/sch_plugins/eagle/sch_eagle_plugin.cpp b/eeschema/sch_plugins/eagle/sch_eagle_plugin.cpp
index 67dfe5d6aa..66495de910 100644
--- a/eeschema/sch_plugins/eagle/sch_eagle_plugin.cpp
+++ b/eeschema/sch_plugins/eagle/sch_eagle_plugin.cpp
@@ -1155,7 +1155,7 @@ void SCH_EAGLE_PLUGIN::loadInstance( wxXmlNode* aInstanceNode )
     // Find the part in the list for the sheet.
     // Assign the component its value from the part entry
     // Calculate the unit number from the gate entry of the instance
-    // Assign the the LIB_ID from device set and device names
+    // Assign the LIB_ID from device set and device names
 
     auto part_it = m_partlist.find( einstance.part.Upper() );
 
diff --git a/eeschema/sch_plugins/kicad/sch_sexpr_plugin.cpp b/eeschema/sch_plugins/kicad/sch_sexpr_plugin.cpp
index e3a1cbdd2a..6527781bb8 100644
--- a/eeschema/sch_plugins/kicad/sch_sexpr_plugin.cpp
+++ b/eeschema/sch_plugins/kicad/sch_sexpr_plugin.cpp
@@ -57,7 +57,7 @@
 #include <sch_file_versions.h>
 #include <schematic_lexer.h>
 #include <sch_plugins/kicad/sch_sexpr_parser.h>
-#include <symbol_lib_table.h>  // for PropPowerSymsOnly definintion.
+#include <symbol_lib_table.h>  // for PropPowerSymsOnly definition.
 #include <ee_selection.h>
 #include <kicad_string.h>
 #include <wx_filename.h>       // for ::ResolvePossibleSymlinks()
@@ -478,7 +478,7 @@ void SCH_SEXPR_PLUGIN::loadHierarchy( SCH_SHEET* aSheet )
         if( !fileName.IsAbsolute() )
             fileName.MakeAbsolute( m_currentPath.top() );
 
-        // Save the current path so that it gets restored when decending and ascending the
+        // Save the current path so that it gets restored when descending and ascending the
         // sheet hierarchy which allows for sheet schematic files to be nested in folders
         // relative to the last path a schematic was loaded from.
         wxLogTrace( traceSchLegacyPlugin, "Saving path    \"%s\"", m_currentPath.top() );
@@ -1645,7 +1645,7 @@ void SCH_SEXPR_PLUGIN_CACHE::SaveSymbol( LIB_PART* aSymbol, OUTPUTFORMATTER& aFo
             saveField( field, aFormatter, nextFreeFieldId, aNestLevel + 1 );
 
         // @todo At some point in the future the lock status (all units interchangeable) should
-        // be set deterministically.  For now a custom lock propertery is used to preserve the
+        // be set deterministically.  For now a custom lock property is used to preserve the
         // locked flag state.
         if( aSymbol->UnitsLocked() )
         {
diff --git a/eeschema/sch_plugins/legacy/sch_legacy_plugin.cpp b/eeschema/sch_plugins/legacy/sch_legacy_plugin.cpp
index 8e5ea0014f..947e4f7d7a 100644
--- a/eeschema/sch_plugins/legacy/sch_legacy_plugin.cpp
+++ b/eeschema/sch_plugins/legacy/sch_legacy_plugin.cpp
@@ -69,7 +69,7 @@
 #include <lib_rectangle.h>
 #include <lib_text.h>
 #include <eeschema_id.h>       // for MAX_UNIT_COUNT_PER_PACKAGE definition
-#include <symbol_lib_table.h>  // for PropPowerSymsOnly definintion.
+#include <symbol_lib_table.h>  // for PropPowerSymsOnly definition.
 #include <confirm.h>
 #include <tool/selection.h>
 #include <default_values.h>    // For some default values
@@ -92,8 +92,8 @@ const char* delims = " \t\r\n";
 
 // Tokens to read/save graphic lines style
 #define T_STYLE "style"
-#define T_COLOR "rgb"          // cannot be modifed (used by wxWidgets)
-#define T_COLORA "rgba"        // cannot be modifed (used by wxWidgets)
+#define T_COLOR "rgb"          // cannot be modified (used by wxWidgets)
+#define T_COLORA "rgba"        // cannot be modified (used by wxWidgets)
 #define T_WIDTH "width"
 
 
@@ -284,7 +284,7 @@ static double parseDouble( LINE_READER& aReader, const char* aLine,
  *                     the parsing is complete.
  * @return A valid ASCII character.
  * @throw IO_ERROR on an unexpected end of line.
- * @throw PARSE_ERROR if the parsed token is not a a single character token.
+ * @throw PARSE_ERROR if the parsed token is not a single character token.
  */
 static char parseChar( LINE_READER& aReader, const char* aCurrentToken,
                        const char** aNextToken = NULL )
@@ -686,7 +686,7 @@ void SCH_LEGACY_PLUGIN::loadHierarchy( SCH_SHEET* aSheet )
         if( !fileName.IsAbsolute() )
             fileName.MakeAbsolute( m_currentPath.top() );
 
-        // Save the current path so that it gets restored when decending and ascending the
+        // Save the current path so that it gets restored when descending and ascending the
         // sheet hierarchy which allows for sheet schematic files to be nested in folders
         // relative to the last path a schematic was loaded from.
         wxLogTrace( traceSchLegacyPlugin, "Saving path    \"%s\"", m_currentPath.top() );
@@ -2694,7 +2694,7 @@ void SCH_LEGACY_PLUGIN_CACHE::loadDocs()
         else
             symbol = it->second;
 
-        // Read the curent alias associated doc.
+        // Read the current alias associated doc.
         // if the alias does not exist, just skip the description
         // (Can happen if a .dcm is not synchronized with the corresponding .lib file)
         while( reader.ReadLine() )
diff --git a/eeschema/sch_reference_list.h b/eeschema/sch_reference_list.h
index a5456aa66d..05fc421d83 100644
--- a/eeschema/sch_reference_list.h
+++ b/eeschema/sch_reference_list.h
@@ -84,7 +84,7 @@ public:
     }
 
     /**
-     * Update the annotation of the symbol according the the current object state.
+     * Update the annotation of the symbol according the current object state.
      */
     void Annotate();
 
diff --git a/eeschema/sch_screen.cpp b/eeschema/sch_screen.cpp
index a72199fa1d..b3faf6b29c 100644
--- a/eeschema/sch_screen.cpp
+++ b/eeschema/sch_screen.cpp
@@ -595,7 +595,7 @@ void SCH_SCREEN::UpdateSymbolLinks( REPORTER* aReporter )
             continue;
         }
 
-        // LIB_TABLE_BASE::LoadSymbol() throws an IO_ERROR if the the library nickname
+        // LIB_TABLE_BASE::LoadSymbol() throws an IO_ERROR if the library nickname
         // is not found in the table so check if the library still exists in the table
         // before attempting to load the symbol.
         if( !libs->HasLibrary( symbol->GetLibId().GetLibNickname() ) && !legacyLibs )
diff --git a/eeschema/sch_screen.h b/eeschema/sch_screen.h
index 8247c8022f..9242ed7811 100644
--- a/eeschema/sch_screen.h
+++ b/eeschema/sch_screen.h
@@ -419,7 +419,7 @@ public:
     const std::map<wxString, LIB_PART*>& GetLibSymbols() const { return m_libSymbols; }
 
     /**
-     * Add \a aLibSymbol to the the library symbol map.
+     * Add \a aLibSymbol to the library symbol map.
      *
      * The symbol is mapped to the result of #LIB_ID::Format().  If a symbol is already
      * mapped, the existing symbol is replaced with \a aLibSymbol.  The screen object takes
diff --git a/eeschema/sch_sheet_path.cpp b/eeschema/sch_sheet_path.cpp
index aef4a189ee..5d6a8d4f5c 100644
--- a/eeschema/sch_sheet_path.cpp
+++ b/eeschema/sch_sheet_path.cpp
@@ -1020,7 +1020,7 @@ bool SCH_SHEET_LIST::AllSheetPageNumbersEmpty() const
 
 void SCH_SHEET_LIST::SetInitialPageNumbers()
 {
-    // Don't accidently renumber existing sheets.
+    // Don't accidentally renumber existing sheets.
     wxCHECK( AllSheetPageNumbersEmpty(), /* void */ );
 
     wxString tmp;
diff --git a/eeschema/sch_sheet_path.h b/eeschema/sch_sheet_path.h
index fee77be902..8019fd0aab 100644
--- a/eeschema/sch_sheet_path.h
+++ b/eeschema/sch_sheet_path.h
@@ -270,7 +270,7 @@ public:
     /**
      * Return the sheet path in a human readable form made from the sheet names.
      *
-     * The the "normal" path instead uses the #KIID objects in the path that do not change
+     * The "normal" path instead uses the #KIID objects in the path that do not change
      * even when editing sheet parameters.
      */
     wxString PathHumanReadable( bool aUseShortRootName = true ) const;
diff --git a/eeschema/sch_text.cpp b/eeschema/sch_text.cpp
index eb5965af7b..6163d73ed3 100644
--- a/eeschema/sch_text.cpp
+++ b/eeschema/sch_text.cpp
@@ -319,7 +319,7 @@ void SCH_TEXT::SetLabelSpinStyle( LABEL_SPIN_STYLE aSpinStyle )
     m_spin_style = aSpinStyle;
 
     // Assume "Right" and Left" mean which side of the anchor the text will be on
-    // Thus we want to left justify text up agaisnt the anchor if we are on the right
+    // Thus we want to left justify text up against the anchor if we are on the right
     switch( aSpinStyle )
     {
     default:
diff --git a/eeschema/schematic_settings.cpp b/eeschema/schematic_settings.cpp
index 07c6dd9d55..198f6e9ae0 100644
--- a/eeschema/schematic_settings.cpp
+++ b/eeschema/schematic_settings.cpp
@@ -189,7 +189,7 @@ SCHEMATIC_SETTINGS::SCHEMATIC_SETTINGS( JSON_SETTINGS* aParent, const std::strin
                 }
             }, {} ) );
 
-    // TOOD(JE) get rid of this static
+    // TODO(JE) get rid of this static
     m_params.emplace_back( new PARAM<wxString>( "page_layout_descr_file",
             &BASE_SCREEN::m_DrawingSheetFileName, "" ) );
 
diff --git a/eeschema/sim/netlist_exporter_pspice_sim.cpp b/eeschema/sim/netlist_exporter_pspice_sim.cpp
index 3ebb73dc11..76e1f99352 100644
--- a/eeschema/sim/netlist_exporter_pspice_sim.cpp
+++ b/eeschema/sim/netlist_exporter_pspice_sim.cpp
@@ -247,7 +247,7 @@ void NETLIST_EXPORTER_PSPICE_SIM::writeDirectives( OUTPUTFORMATTER* aFormatter,
     // If we print out .save directives for currents, then it needs to be done for voltages as well
     for( const auto& netMap : GetNetIndexMap() )
     {
-        // the "0" and the "GND" nets are automaticallly saved internally by ngspice.
+        // the "0" and the "GND" nets are automatically saved internally by ngspice.
         // Skip them
         wxString netname = ComponentToVector( netMap.first, SPT_VOLTAGE );
 
diff --git a/eeschema/symbol_viewer_frame.cpp b/eeschema/symbol_viewer_frame.cpp
index be7cc85c50..4c2aa6155d 100644
--- a/eeschema/symbol_viewer_frame.cpp
+++ b/eeschema/symbol_viewer_frame.cpp
@@ -813,7 +813,7 @@ void SYMBOL_VIEWER_FRAME::OnSelectSymbol( wxCommandEvent& aEvent )
 {
     std::unique_lock<std::mutex> dialogLock( DIALOG_CHOOSE_SYMBOL::g_Mutex, std::defer_lock );
 
-    // One CHOOSE_COMPONENT dialog at a time.  User probaby can't handle more anyway.
+    // One CHOOSE_COMPONENT dialog at a time.  User probably can't handle more anyway.
     if( !dialogLock.try_lock() )
         return;
 
diff --git a/eeschema/tools/ee_point_editor.cpp b/eeschema/tools/ee_point_editor.cpp
index 9b4b856119..6310ee72a8 100644
--- a/eeschema/tools/ee_point_editor.cpp
+++ b/eeschema/tools/ee_point_editor.cpp
@@ -375,7 +375,7 @@ int EE_POINT_EDITOR::Main( const TOOL_EVENT& aEvent )
 }
 
 /**
- * Update the coordinates of 4 corners of a rectangle, accordint to constraints
+ * Update the coordinates of 4 corners of a rectangle, according to constraints
  * and the moved corner
  * @param aEditedPointIndex is the corner id
  * @param minWidth is the minimal width constraint
diff --git a/eeschema/tools/ee_selection_tool.cpp b/eeschema/tools/ee_selection_tool.cpp
index 8f580842aa..566662da25 100644
--- a/eeschema/tools/ee_selection_tool.cpp
+++ b/eeschema/tools/ee_selection_tool.cpp
@@ -318,7 +318,7 @@ void EE_SELECTION_TOOL::setModifiersState( bool aShiftState, bool aCtrlState, bo
     // from the state of modifier keys SHIFT, CTRL, ALT and the OS
 
     // on left click, a selection is made, depending on modifiers ALT, SHIFT, CTRL:
-    // Due to the fact ALT key modifier cannot be useed freely on Windows and Linux,
+    // Due to the fact ALT key modifier cannot be used freely on Windows and Linux,
     // actions are different on OSX and others OS
     // Especially, ALT key cannot be used to force showing the full selection choice
     // context menu (the menu is immediately closed on Windows )
diff --git a/eeschema/tools/sch_editor_control.h b/eeschema/tools/sch_editor_control.h
index fa02505b97..c7c885b2cc 100644
--- a/eeschema/tools/sch_editor_control.h
+++ b/eeschema/tools/sch_editor_control.h
@@ -140,7 +140,7 @@ public:
     void AssignFootprints( const std::string& aChangedSetOfReferences );
 
     /**
-     * Find a symbol in the schematic and an item in this symobl.
+     * Find a symbol in the schematic and an item in this symbol.
      *
      * @param aReference The symbol reference designator to find.
      * @param aSearchHierarchy If false, search the current sheet only.  Otherwise,
diff --git a/eeschema/transform.h b/eeschema/transform.h
index cf70740e9a..fcd8012884 100644
--- a/eeschema/transform.h
+++ b/eeschema/transform.h
@@ -40,7 +40,7 @@ class EDA_RECT;
  * This probably should be a base class with all pure virtual methods and a WXDC_TRANSFORM
  * derived class.  Then in the future if some new device context is used, a new transform could
  * be derived from the base class and all the drawable objects would have to do is provide
- * overloaded draw methods to use the new transorm.
+ * overloaded draw methods to use the new transform.
  */
 class TRANSFORM
 {
diff --git a/eeschema/widgets/tuner_slider.cpp b/eeschema/widgets/tuner_slider.cpp
index c61803b47e..a746c33c7d 100644
--- a/eeschema/widgets/tuner_slider.cpp
+++ b/eeschema/widgets/tuner_slider.cpp
@@ -82,7 +82,7 @@ bool TUNER_SLIDER::SetMin( const SPICE_VALUE& aVal )
 
     m_min = aVal;
 
-    if( m_value < aVal )      // Limit the curent value
+    if( m_value < aVal )      // Limit the current value
         SetValue( aVal );
 
     m_minText->SetValue( aVal.ToOrigString() );
diff --git a/gerbview/X2_gerber_attributes.cpp b/gerbview/X2_gerber_attributes.cpp
index 238e34eae8..bcbbb80f67 100644
--- a/gerbview/X2_gerber_attributes.cpp
+++ b/gerbview/X2_gerber_attributes.cpp
@@ -81,7 +81,7 @@ const wxString& X2_ATTRIBUTE::GetPrm( int aIdx)
     return dummy;
 }
 
-// Debug function: pring using wxLogMessage the list of parameters
+// Debug function: print using wxLogMessage the list of parameters
 void X2_ATTRIBUTE::DbgListPrms()
 {
     wxLogMessage( wxT("prms count %d"), GetPrmCount() );
diff --git a/gerbview/am_param.h b/gerbview/am_param.h
index fe03b3391f..f3dfaf56f8 100644
--- a/gerbview/am_param.h
+++ b/gerbview/am_param.h
@@ -62,19 +62,19 @@
  *  A simple definition, no parameters:
  *  %AMMOIRE10*
  *  6,0,0,0.350000,0.005,0.050,3,0.005,0.400000,0.0*%
- *  Example of instanciation:
+ *  Example of instantiation:
  *  %ADD19MOIRE10*%
  *
  *  A simple definition, one parameter:
  *  %AMCIRCLE*
  *  1,1,$1,0,0*
- *  Example of instanciation:
+ *  Example of instantiation:
  *  %ADD11CIRCLE,.5*%
  *
  *  A definition, with parameters and arithmetic operations:
  *  %AMVECTOR*
  *  2,1,$1,0,0,$2+1,$3,-135*%
- *  Example of instanciation:
+ *  Example of instantiation:
  *  %ADD12VECTOR,0.05X0X0*%
  *
  *  A more complicated aperture macro definition, with parameters and arithmetic operations:
@@ -86,7 +86,7 @@
  *  1,1,$3+$3,$3-$1,$2-$3*
  *  1,1,$3+$3,$1-$3,$3-$2*
  *  1,1,$3+$3,$3-$1,$3-$2*%
- *  Example of instanciation:
+ *  Example of instantiation:
  *
  *  A more complicated sample of aperture macro definition:
  *  G04 Rectangular Thermal Macro, params: W/2, H/2, T/2 *
@@ -96,7 +96,7 @@
  *  21,1,$1-$3,$2-$3,0-$1/2-$4,$2/2+$4,0*
  *  21,1,$1-$3,$2-$3,$1/2+$4,0-$2/2-$4,0*
  *  21,1,$1-$3,$2-$3,$1/2+$4,$2/2+$4,0*%
- *  Example of instanciation:
+ *  Example of instantiation:
  *  %ADD28RECTHERM,0.035591X0.041496X0.005000*%
  */
 
diff --git a/gerbview/am_primitive.cpp b/gerbview/am_primitive.cpp
index 9f541b3ead..ae0c02e41d 100644
--- a/gerbview/am_primitive.cpp
+++ b/gerbview/am_primitive.cpp
@@ -40,7 +40,7 @@
  * Function scaletoIU
  * converts a distance given in floating point to our internal units
  */
-extern int scaletoIU( double aCoord, bool isMetric );       // defined it rs274d_read_XY_and_IJ_coordiantes.cpp
+extern int scaletoIU( double aCoord, bool isMetric );       // defined it rs274d_read_XY_and_IJ_coordinates.cpp
 
 /**
  * Function mapPt
@@ -603,7 +603,7 @@ void AM_PRIMITIVE::ConvertShapeToPolygon( const GERBER_DRAW_ITEM* aParent,
     }
     break;
 
-    case AMP_MOIRE:     // A cross hair with n concentric circles. Only the cros is build as polygon
+    case AMP_MOIRE:     // A cross hair with n concentric circles. Only the cross is built as polygon
                         // because circles can be drawn easily
     {
         int crossHairThickness = scaletoIU( params[6].GetValue( tool ), m_GerbMetric );
diff --git a/gerbview/excellon_image.h b/gerbview/excellon_image.h
index f72783da0f..8ba10355bc 100644
--- a/gerbview/excellon_image.h
+++ b/gerbview/excellon_image.h
@@ -90,9 +90,9 @@ struct EXCELLON_ROUTE_COORD
     int m_x;        // X coordinate
     int m_y;        // y coordinate
     int m_cx;       // center X coordinate in circular routing mode
-                    // (when the IJ commad is used)
+                    // (when the IJ command is used)
     int m_cy;       // center y coordinate in circular routing mode
-                    // (when the IJ commad is used)
+                    // (when the IJ command is used)
     int m_radius;   // radius in circular routing mode (when the A## command is used)
     int m_rmode;    // routing mode: 0 = circular, ROUTE_CCW (1) = ccw, ROUTE_CW (-1) = cw
     int m_arc_type_info; // arc using radius or center coordinates
diff --git a/gerbview/excellon_read_drill_file.cpp b/gerbview/excellon_read_drill_file.cpp
index 36138938f1..01840591ae 100644
--- a/gerbview/excellon_read_drill_file.cpp
+++ b/gerbview/excellon_read_drill_file.cpp
@@ -187,7 +187,7 @@ extern void fillArcGBRITEM(  GERBER_DRAW_ITEM* aGbrItem, int Dcode_index,
 // Gerber X2 files have a file attribute which specify the type of image
 // (copper, solder paste ... and sides tpo, bottom or inner copper layers)
 // Excellon drill files do not have attributes, so, just to identify the image
-// In gerbview, we add this attribute, similat to a Gerber drill file
+// In gerbview, we add this attribute, similar to a Gerber drill file
 static const char file_attribute[] = ".FileFunction,Other,Drill*";
 
 static EXCELLON_CMD excellonHeaderCmdList[] =
@@ -308,7 +308,7 @@ bool GERBVIEW_FRAME::Read_EXCELLON_File( const wxString& aFullFileName )
 
 bool EXCELLON_IMAGE::LoadFile( const wxString & aFullFileName )
 {
-    // Set the default parmeter values:
+    // Set the default parameter values:
     ResetDefaultValues();
     ClearMessageList();
 
@@ -538,7 +538,7 @@ bool EXCELLON_IMAGE::Execute_HEADER_And_M_Command( char*& text )
         break;
 
     case DRILL_M_TOOL_DOWN:      // tool down (starting a routed hole or polyline)
-        // Only the last position is usefull:
+        // Only the last position is useful:
         if( m_RoutePositions.size() > 1 )
             m_RoutePositions.erase( m_RoutePositions.begin(), m_RoutePositions.begin() + m_RoutePositions.size() - 1 );
 
@@ -870,7 +870,7 @@ void EXCELLON_IMAGE::SelectUnits( bool aMetric )
         m_GerbMetric = true;
         // number of digits in mantissa
         m_FmtScale.x = m_FmtScale.y = fmtMantissaMM;
-        // number of digits (mantissa+interger)
+        // number of digits (mantissa+integer)
         m_FmtLen.x = m_FmtLen.y = fmtIntegerMM+fmtMantissaMM;
     }
     else
diff --git a/gerbview/export_to_pcbnew.cpp b/gerbview/export_to_pcbnew.cpp
index c1f5412892..a8da99fddb 100644
--- a/gerbview/export_to_pcbnew.cpp
+++ b/gerbview/export_to_pcbnew.cpp
@@ -298,7 +298,7 @@ void GBR_TO_PCB_EXPORTER::export_copper_item( const GERBER_DRAW_ITEM* aGbrItem,
         // One can use a polygon or a zone to output a Gerber region.
         // none are perfect.
         // The current way is use a polygon, as the zone export
-        // is exprimental and only for tests.
+        // is experimental and only for tests.
 #if 1
         writePcbPolygon( aGbrItem->m_Polygon, aLayer );
 #else
diff --git a/gerbview/gerber_draw_item.cpp b/gerbview/gerber_draw_item.cpp
index 28de0ffd22..0822c3954b 100644
--- a/gerbview/gerber_draw_item.cpp
+++ b/gerbview/gerber_draw_item.cpp
@@ -368,7 +368,7 @@ const EDA_RECT GERBER_DRAW_ITEM::GetBoundingBox() const
     {
         if( code )
         {
-            // Update the shape drawings and the bounding box coordiantes:
+            // Update the shape drawings and the bounding box coordinates:
             code->GetMacro()->GetApertureMacroShape( this, m_Start );
             // now the bounding box is valid:
             bbox = code->GetMacro()->GetBoundingBox();
diff --git a/gerbview/gerber_file_image.cpp b/gerbview/gerber_file_image.cpp
index bdca9e5d1a..7c233a4bfe 100644
--- a/gerbview/gerber_file_image.cpp
+++ b/gerbview/gerber_file_image.cpp
@@ -42,7 +42,7 @@
  * Function scaletoIU
  * converts a distance given in floating point to our internal units
  */
-extern int scaletoIU( double aCoord, bool isMetric );       // defined it rs274d_read_XY_and_IJ_coordiantes.cpp
+extern int scaletoIU( double aCoord, bool isMetric );       // defined it rs274d_read_XY_and_IJ_coordinates.cpp
 
 /* Format Gerber: NOTES:
  * Tools and D_CODES
@@ -55,7 +55,7 @@ extern int scaletoIU( double aCoord, bool isMetric );       // defined it rs274d
  *   D02 = light extinction (lift pen) when di placement
  *   D03 Flash
  *   D09 = VAPE Flash
- *   D10 ... = Indentification Tool (Opening)
+ *   D10 ... = Identification Tool (Opening)
  *
  * For tools:
  * DCode min = D10
@@ -188,7 +188,7 @@ void GERBER_FILE_IMAGE::ResetDefaultValues()
     m_NoTrailingZeros = false;                      // true: trailing zeros deleted
     m_ImageOffset.x   = m_ImageOffset.y = 0;        // Coord Offset, from IO command
     m_ImageRotation = 0;                            // Allowed 0, 90, 180, 270 (in degree)
-    m_LocalRotation = 0.0;                          // Layer totation from RO command (in 0.1 degree)
+    m_LocalRotation = 0.0;                          // Layer rotation from RO command (in 0.1 degree)
     m_Offset.x = 0;
     m_Offset.y = 0;                                 // Coord Offset, from OF command
     m_Scale.x  = m_Scale.y = 1.0;                   // scale (A and B) this layer
@@ -205,7 +205,7 @@ void GERBER_FILE_IMAGE::ResetDefaultValues()
     m_Iterpolation = GERB_INTERPOL_LINEAR_1X;       // Linear, 90 arc, Circ.
     m_360Arc_enbl  = false;                         // 360 deg circular
                                                     // interpolation disable
-    m_AsArcG74G75Cmd = false;                       // false untile a G74 or G75 comand is found
+    m_AsArcG74G75Cmd = false;                       // false until a G74 or G75 command is found
     m_Current_Tool = 0;                             // Current Dcode selected
     m_CommandState = 0;                             // State of the current command
     m_CurrentPos.x = m_CurrentPos.y = 0;            // current specified coord
diff --git a/gerbview/rs274_read_XY_and_IJ_coordinates.cpp b/gerbview/rs274_read_XY_and_IJ_coordinates.cpp
index ac71137156..519906a0c9 100644
--- a/gerbview/rs274_read_XY_and_IJ_coordinates.cpp
+++ b/gerbview/rs274_read_XY_and_IJ_coordinates.cpp
@@ -32,7 +32,7 @@
  * On exit, Text points the beginning of the sequence unread
  */
 
-// convertion scale from gerber file units to Gerbview internal units
+// conversion scale from gerber file units to Gerbview internal units
 // depending on the gerber file format
 // this scale list assumes gerber units are imperial.
 // for metric gerber units, the imperial to metric conversion is made in read functions
diff --git a/gerbview/rs274x.cpp b/gerbview/rs274x.cpp
index 21a72b2556..7069ef9149 100644
--- a/gerbview/rs274x.cpp
+++ b/gerbview/rs274x.cpp
@@ -44,7 +44,7 @@ extern double ReadDouble( char*& text, bool aSkipSeparator = true );
 // See rs274xrevd_e.pdf, table 1: RS-274X parameters order of entry
 // in gerber files, when a coordinate is given (like X78Y600 or I0J80):
 //      Y and Y are logical coordinates
-//      A and B are plotter coordiantes
+//      A and B are plotter coordinates
 //      Usually A = X, B = Y
 //      But we can have A = Y, B = X and/or offset, mirror, scale;
 // Also:
@@ -99,7 +99,7 @@ enum RS274X_PARAMETERS {
     REMOVE_APERTURE_ATTRIBUTE   = CODE( 'T', 'D' ),
 
     // Layer specific parameters
-    // May be used singly or may be layer specfic
+    // May be used singly or may be layer specific
     // These parameters are at the beginning of the file or layer
     // and reset some layer parameters (like interpolation)
     KNOCKOUT = CODE( 'K', 'O' ),                // Default: off
diff --git a/gerbview/widgets/gerbview_layer_widget.cpp b/gerbview/widgets/gerbview_layer_widget.cpp
index 277280d7db..a4e19498aa 100644
--- a/gerbview/widgets/gerbview_layer_widget.cpp
+++ b/gerbview/widgets/gerbview_layer_widget.cpp
@@ -44,7 +44,7 @@
 
 /*
  * GERBER_LAYER_WIDGET
- * is here to implement the abtract functions of LAYER_WIDGET so they
+ * is here to implement the abstract functions of LAYER_WIDGET so they
  * may be tied into the GERBVIEW_FRAME's data and so we can add a popup
  * menu which is specific to Pcbnew's needs.
  */
@@ -99,7 +99,7 @@ void GERBER_LAYER_WIDGET::ReFillRender()
     // on the stack.
     LAYER_WIDGET::ROW renderRows[6] = {
 
-#define RR  LAYER_WIDGET::ROW   // Render Row abreviation to reduce source width
+#define RR  LAYER_WIDGET::ROW   // Render Row abbreviation to reduce source width
 
              // text                 id                         color     tooltip                 checked
         RR( _( "DCodes" ),           LAYER_DCODES,                WHITE,    _( "Show DCodes identification" ) ),
diff --git a/include/basic_gal.h b/include/basic_gal.h
index eb2413a346..2c3914caeb 100644
--- a/include/basic_gal.h
+++ b/include/basic_gal.h
@@ -148,7 +148,7 @@ public:
 private:
     void doDrawPolyline( const std::vector<wxPoint>& aLocalPointList );
 
-    // Apply the roation/translation transform to aPoint
+    // Apply the rotation/translation transform to aPoint
     const VECTOR2D transform( const VECTOR2D& aPoint ) const;
 
 public:
diff --git a/include/bitmap_store.h b/include/bitmap_store.h
index 31d4455c9d..d1862a09fc 100644
--- a/include/bitmap_store.h
+++ b/include/bitmap_store.h
@@ -38,7 +38,7 @@ namespace std
 }
 
 /**
- * Helper to retreive bitmaps while handling icon themes and scaling
+ * Helper to retrieve bitmaps while handling icon themes and scaling
  */
 class BITMAP_STORE
 {
@@ -48,7 +48,7 @@ public:
     ~BITMAP_STORE() = default;
 
     /**
-     * Retreives a bitmap from the given bitmap id
+     * Retrieves a bitmap from the given bitmap id
      * @param aBitmapId is from the BITMAPS enum in bitmaps_list.h
      * @param aHeight is the requested height in pixels of the source image, or -1 for any height
      */
diff --git a/include/bitmaps/bitmap_types.h b/include/bitmaps/bitmap_types.h
index 277bcfb9ac..803f24f839 100644
--- a/include/bitmaps/bitmap_types.h
+++ b/include/bitmaps/bitmap_types.h
@@ -104,7 +104,7 @@ wxBitmap* KiBitmapNew( BITMAPS aBitmap );
  * Save the current view as an image file.
  *
  * @param aFrame The current draw frame view to save.
- * @param aFileName The file name to save the image.  This will overwrite an exisiting file.
+ * @param aFileName The file name to save the image.  This will overwrite an existing file.
  * @param aBitmapType The type of bitmap create as defined by wxImage.
  * @return True if the file was successfully saved or false if the file failed to be saved.
  */
diff --git a/include/convert_to_biu.h b/include/convert_to_biu.h
index 906b69f121..b5ac5d5aaf 100644
--- a/include/convert_to_biu.h
+++ b/include/convert_to_biu.h
@@ -52,12 +52,12 @@
     wx to handle something outside INT_MIN to INT_MAX, there are unreported
     problems in the non-Debug build because wxRound() goes silent.
 
-    Pcbnew uses nanometers because we ned to convert coordintes and size between
-    milimeters and inches. using a iu = 1 nm avoid rounding issues
+    Pcbnew uses nanometers because we need to convert coordinates and size between
+    millimeters and inches. using a iu = 1 nm avoid rounding issues
 
-    Gerbview uses iu = 10 nm because we can have coordintes far from origin, and
+    Gerbview uses iu = 10 nm because we can have coordinates far from origin, and
     1 nm is too small to avoid int overflow.
-    (Conversions between milimeters and inches are not critical)
+    (Conversions between millimeters and inches are not critical)
 */
 
 /**
diff --git a/include/dialogs/dialog_text_entry.h b/include/dialogs/dialog_text_entry.h
index 24291f43d3..67afc0acbb 100644
--- a/include/dialogs/dialog_text_entry.h
+++ b/include/dialogs/dialog_text_entry.h
@@ -23,7 +23,7 @@
 
 
 /**
- * A KICAD version of wxTextEntryDialog which supports the various improvments/work-arounds
+ * A KICAD version of wxTextEntryDialog which supports the various improvements/work-arounds
  * from DIALOG_SHIM.
  */
 
diff --git a/include/drawing_sheet/ds_data_item.h b/include/drawing_sheet/ds_data_item.h
index fcd26b1157..c2ab14ec6b 100644
--- a/include/drawing_sheet/ds_data_item.h
+++ b/include/drawing_sheet/ds_data_item.h
@@ -304,7 +304,7 @@ public:
     virtual int GetPenSizeUi() override;
 
     /**
-     * Try to build text wihich is an increment of m_TextBase
+     * Try to build text which is an increment of m_TextBase
      * has meaning only if m_TextBase is a basic text (one char)
      * If the basic char is a digit, build a number
      * If the basic char is a letter, use the letter with ASCII code
diff --git a/include/gal/color4d.h b/include/gal/color4d.h
index 1b5a50d581..e55dea465c 100644
--- a/include/gal/color4d.h
+++ b/include/gal/color4d.h
@@ -178,7 +178,7 @@ public:
      * Unpack from a unsigned int in the legacy EDA_COLOR_T format.
      */
     void FromU32( unsigned int aPackedColor );
-#endif /* WX_COMPATIBLITY */
+#endif /* WX_COMPATIBILITY */
 
 
     /**
diff --git a/include/gal/opengl/noncached_container.h b/include/gal/opengl/noncached_container.h
index c522e807a2..e1c2aa2972 100644
--- a/include/gal/opengl/noncached_container.h
+++ b/include/gal/opengl/noncached_container.h
@@ -42,7 +42,7 @@ class NONCACHED_CONTAINER : public VERTEX_CONTAINER
 {
 public:
     /**
-     * Contruct a non-cached container object.
+     * Construct a non-cached container object.
      *
      * @param aSize is the size of the cache.
      * @throw bad_alloc exception if memory allocation fails.
diff --git a/include/gbr_netlist_metadata.h b/include/gbr_netlist_metadata.h
index 00631a6063..7a98b5d9fd 100644
--- a/include/gbr_netlist_metadata.h
+++ b/include/gbr_netlist_metadata.h
@@ -148,7 +148,7 @@ private:
 class GBR_NETLIST_METADATA
 {
 public:
-    // This enum enables the different net attributes attache to the object
+    // This enum enables the different net attributes attached to the object
     // the values can be ORed for items which can have more than one attribute
     // (A flashed pad has all allowed attributes)
     enum GBR_NETINFO_TYPE
diff --git a/include/id.h b/include/id.h
index ba17df657c..d5f38f2dae 100644
--- a/include/id.h
+++ b/include/id.h
@@ -37,7 +37,7 @@
  * Common command IDs shared by more than one of the KiCad applications.
  *
  * Only place command IDs used in base window class event tables or shared
- * across multple applications such as the zoom, grid, and language IDs.
+ * across multiple applications such as the zoom, grid, and language IDs.
  * Application specific IDs should be defined in the appropriate header
  * file to prevent the entire project from being rebuilt.
  *
diff --git a/include/ki_exception.h b/include/ki_exception.h
index 35dfef6131..7a9f402bd9 100644
--- a/include/ki_exception.h
+++ b/include/ki_exception.h
@@ -110,7 +110,7 @@ protected:
 
 /**
  * A filename or source description, a problem input line, a line number, a byte
- * offset, and an error message which contains the the caller's report and his call
+ * offset, and an error message which contains the caller's report and his call
  * site information: CPP source file, function, and line number.
  *
  * @author Dick Hollenbeck
diff --git a/include/kicad_curl/kicad_curl_easy.h b/include/kicad_curl/kicad_curl_easy.h
index 74dfc90c5d..178aef3066 100644
--- a/include/kicad_curl/kicad_curl_easy.h
+++ b/include/kicad_curl/kicad_curl_easy.h
@@ -119,7 +119,7 @@ public:
 
     /**
      * Function GetBuffer
-     * returns a const reference to the recevied data buffer
+     * returns a const reference to the received data buffer
      */
     const std::string& GetBuffer()
     {
diff --git a/include/kiway_player.h b/include/kiway_player.h
index 22c5738e0d..cb22e4ac84 100644
--- a/include/kiway_player.h
+++ b/include/kiway_player.h
@@ -224,7 +224,7 @@ protected:
 };
 
 
-// psuedo code for OpenProjectFiles
+// pseudo code for OpenProjectFiles
 #if 0
 
 bool OpenProjectFiles( const std::vector<wxString>& aFileList, int aCtl = 0 )
diff --git a/include/layers_id_colors_and_visibility.h b/include/layers_id_colors_and_visibility.h
index 1dab9c68bf..54fd82a192 100644
--- a/include/layers_id_colors_and_visibility.h
+++ b/include/layers_id_colors_and_visibility.h
@@ -207,8 +207,8 @@ enum GAL_LAYER_ID: int
     LAYER_NO_CONNECTS        = GAL_LAYER_ID_START + 14, ///< show a marker on pads with no nets
     LAYER_MOD_FR             = GAL_LAYER_ID_START + 15, ///< show footprints on front
     LAYER_MOD_BK             = GAL_LAYER_ID_START + 16, ///< show footprints on back
-    LAYER_MOD_VALUES         = GAL_LAYER_ID_START + 17, ///< show footprints values (when texts are visibles)
-    LAYER_MOD_REFERENCES     = GAL_LAYER_ID_START + 18, ///< show footprints references (when texts are visibles)
+    LAYER_MOD_VALUES         = GAL_LAYER_ID_START + 17, ///< show footprints values (when texts are visible)
+    LAYER_MOD_REFERENCES     = GAL_LAYER_ID_START + 18, ///< show footprints references (when texts are visible)
     LAYER_TRACKS             = GAL_LAYER_ID_START + 19,
     LAYER_PADS_TH            = GAL_LAYER_ID_START + 20, ///< multilayer pads, usually with holes
     LAYER_PAD_PLATEDHOLES    = GAL_LAYER_ID_START + 21, ///< to draw pad holes (plated)
diff --git a/include/lib_tree_model.h b/include/lib_tree_model.h
index eaa246f165..b5d04ee6e4 100644
--- a/include/lib_tree_model.h
+++ b/include/lib_tree_model.h
@@ -193,7 +193,7 @@ public:
      * All fields will be populated from the LIB_ALIAS, including children
      * (unit nodes will be generated automatically).  This does not keep
      * the pointer to the #LIB_ALIAS object because at any time, a #LIB_ALIAS
-     * can be remove from a libray which will result in an invalid pointer.
+     * can be remove from a library which will result in an invalid pointer.
      * The alias must be resolved at the time of use.  Anything else is a bug.
      *
      * @param aParent   parent node, should be a CMP_TREE_NODE_LIB
diff --git a/include/libeval/numeric_evaluator.h b/include/libeval/numeric_evaluator.h
index 87e498a74e..bf2a044f9d 100644
--- a/include/libeval/numeric_evaluator.h
+++ b/include/libeval/numeric_evaluator.h
@@ -109,7 +109,7 @@ public:
     void parseOk();
     void parseSetResult(double);
 
-    /* Check if previous invokation of process() was successful */
+    /* Check if previous invocation of process() was successful */
     inline bool IsValid() const { return !m_parseError; }
 
     /* Result of string processing. Undefined if !isValid() */
diff --git a/include/plugins/3dapi/c3dmodel.h b/include/plugins/3dapi/c3dmodel.h
index 3df1f2024f..065ce89498 100644
--- a/include/plugins/3dapi/c3dmodel.h
+++ b/include/plugins/3dapi/c3dmodel.h
@@ -70,9 +70,9 @@ typedef struct
 ///  1.0 unit ==  1.0 mm
 /// 10.0 unit == 10.0 mm
 ///
-/// To convert this units to pcbunits, use the convertion facto UNITS3D_TO_UNITSPCB
+/// To convert this units to pcbunits, use the conversion facto UNITS3D_TO_UNITSPCB
 ///
-/// m_Normals, m_Color and m_Texcoords are beween 0.0f and 1.0f
+/// m_Normals, m_Color and m_Texcoords are between 0.0f and 1.0f
 typedef struct
 {
     unsigned int    m_VertexSize;   ///< Number of vertex in the arrays
diff --git a/include/preview_items/arc_assistant.h b/include/preview_items/arc_assistant.h
index 7e3b1b3adb..77928dc625 100644
--- a/include/preview_items/arc_assistant.h
+++ b/include/preview_items/arc_assistant.h
@@ -44,13 +44,13 @@ namespace PREVIEW
 
         void ViewGetLayers( int aLayers[], int& aCount ) const override
         {
-            aLayers[0] = LAYER_SELECT_OVERLAY;  // Assitant graphics
+            aLayers[0] = LAYER_SELECT_OVERLAY;  // Assistant graphics
             aLayers[1] = LAYER_GP_OVERLAY;      // Drop shadows
             aCount = 2;
         }
 
         /**
-         * Draw the assistance (with reference to the contstruction manager
+         * Draw the assistance (with reference to the construction manager
          */
         void ViewDraw( int aLayer, KIGFX::VIEW* aView ) const override final;
 
diff --git a/include/preview_items/arc_geom_manager.h b/include/preview_items/arc_geom_manager.h
index 3cddbc1cd8..4bfa780187 100644
--- a/include/preview_items/arc_geom_manager.h
+++ b/include/preview_items/arc_geom_manager.h
@@ -68,7 +68,7 @@ public:
 
     bool acceptPoint( const VECTOR2I& aPt ) override;
 
-    ///< The the arc to be clockwise from start
+    ///< The arc to be clockwise from start
     void SetClockwise( bool aCw );
 
     ///< Reverse the current are direction
diff --git a/include/preview_items/two_point_assistant.h b/include/preview_items/two_point_assistant.h
index b30d54ddd9..ae71ed63ab 100644
--- a/include/preview_items/two_point_assistant.h
+++ b/include/preview_items/two_point_assistant.h
@@ -57,13 +57,13 @@ public:
 
     void ViewGetLayers( int aLayers[], int& aCount ) const override
     {
-        aLayers[0] = LAYER_SELECT_OVERLAY;  // Assitant graphics
+        aLayers[0] = LAYER_SELECT_OVERLAY;  // Assistant graphics
         aLayers[1] = LAYER_GP_OVERLAY;      // Drop shadows
         aCount = 2;
     }
 
     /**
-     * Draw the assistance (with reference to the contstruction manager
+     * Draw the assistance (with reference to the construction manager
      */
     void ViewDraw( int aLayer, KIGFX::VIEW* aView ) const override final;
 
diff --git a/include/settings/app_settings.h b/include/settings/app_settings.h
index be3b734569..96baafe213 100644
--- a/include/settings/app_settings.h
+++ b/include/settings/app_settings.h
@@ -159,7 +159,7 @@ public:
      * By default, this returns the list of grids available in PcbNew-based applications.
      * Eeschema does not allow customization of the grid.  If it ever does, override this in
      * Eeschema settings to provide a different set of defaults.
-     * @return a default value for the the window.grid.sizes parameter
+     * @return a default value for the window.grid.sizes parameter
      */
     virtual const std::vector<wxString> DefaultGridSizeList() const;
 
diff --git a/include/settings/parameters.h b/include/settings/parameters.h
index 644c0ce7c9..17a2b494b0 100644
--- a/include/settings/parameters.h
+++ b/include/settings/parameters.h
@@ -69,7 +69,7 @@ public:
 
     /**
      * @return the path name of the parameter used to store it in the json file
-     * mainly usefull in error messages
+     * mainly useful in error messages
      */
     const std::string& GetJsonPath() const { return m_path; }
 
diff --git a/include/settings/settings_manager.h b/include/settings/settings_manager.h
index 93658083c0..801598a2ae 100644
--- a/include/settings/settings_manager.h
+++ b/include/settings/settings_manager.h
@@ -152,7 +152,7 @@ public:
      * Safely saves a COLOR_SETTINGS to disk, preserving any changes outside the given namespace.
      *
      * A color settings namespace is one of the top-level JSON objects like "board", etc.
-     * This will preform a read-modify-write
+     * This will perform a read-modify-write
      *
      * @param aSettings is a pointer to a valid COLOR_SETTINGS object managed by SETTINGS_MANAGER
      * @param aNamespace is the namespace of settings to save
@@ -210,7 +210,7 @@ public:
     void SetMigrateLibraryTables( bool aMigrate = true ) { m_migrateLibraryTables = aMigrate; }
 
     /**
-     * Retreives the name of the most recent previous KiCad version that can be found in the
+     * Retrieves the name of the most recent previous KiCad version that can be found in the
      * user settings directory.  For legacy versions (5.x, and 5.99 builds before this code was
      * written), this will return "5.x"
      *
diff --git a/include/template_fieldnames.h b/include/template_fieldnames.h
index 382da5c9e7..0e4f67d3b6 100644
--- a/include/template_fieldnames.h
+++ b/include/template_fieldnames.h
@@ -162,7 +162,7 @@ public:
     const TEMPLATE_FIELDNAMES& GetTemplateFieldNames( bool aGlobal );
 
     /**
-     * Search for \a aName in the the template field name list.
+     * Search for \a aName in the template field name list.
      *
      * @param aName A wxString object containing the field name to search for.
      * @return the template field name if found; NULL otherwise.
diff --git a/include/tool/action_manager.h b/include/tool/action_manager.h
index 6e45c192ff..04bae5b4fd 100644
--- a/include/tool/action_manager.h
+++ b/include/tool/action_manager.h
@@ -96,7 +96,7 @@ public:
     ~ACTION_MANAGER();
 
     /**
-     * Add a tool action to the manager and sets it up. After that is is possible to invoke
+     * Add a tool action to the manager and sets it up. After that it is possible to invoke
      * the action using hotkeys or sending a command event with its name.
      *
      * @param aAction: action to be added. Ownership is not transferred.
diff --git a/include/undo_redo_container.h b/include/undo_redo_container.h
index 41d9392f2a..3b292f68a6 100644
--- a/include/undo_redo_container.h
+++ b/include/undo_redo_container.h
@@ -202,7 +202,7 @@ public:
     EDA_ITEM* GetPickedItem( unsigned int aIdx ) const;
 
     /**
-     * @return A pointer to the picked item's sceen.
+     * @return A pointer to the picked item's screen.
      * @param aIdx Index of the picked item in the picked list.
      */
     BASE_SCREEN* GetScreenForItem( unsigned int aIdx ) const;
diff --git a/include/utf8.h b/include/utf8.h
index 5be4d56609..94466203f8 100644
--- a/include/utf8.h
+++ b/include/utf8.h
@@ -142,7 +142,7 @@ public:
     }
 
     /// Append a wide (unicode) char to the UTF8 string.
-    /// if this wide char is not a ASCII7 char, it will be added as a UTF8 multibyte seqence
+    /// if this wide char is not a ASCII7 char, it will be added as a UTF8 multibyte sequence
     /// @param w_ch is a UTF-16 value (can be a UTF-32 on Linux)
     UTF8& operator+=( unsigned w_ch );
 
diff --git a/include/widgets/busy_indicator.h b/include/widgets/busy_indicator.h
index 997d43a211..6a027c7d93 100644
--- a/include/widgets/busy_indicator.h
+++ b/include/widgets/busy_indicator.h
@@ -32,7 +32,7 @@
  * of the busy indicator is unspecified. It could be a "spinner" cursor in a GUI
  * context, for example.
  *
- * This base class provides a "null" implementation, and can be overriden for
+ * This base class provides a "null" implementation, and can be overridden for
  * specific behaviours.
  *
  * THe busy-ness semantics are defined by this object's lifetime.
diff --git a/include/widgets/infobar.h b/include/widgets/infobar.h
index 9f92aa8f92..30d54089b4 100644
--- a/include/widgets/infobar.h
+++ b/include/widgets/infobar.h
@@ -47,7 +47,7 @@ wxDECLARE_EVENT( KIEVT_DISMISS_INFOBAR, wxCommandEvent );
  * A modified version of the wxInfoBar class that allows us to:
  *     * Show the close button along with the other buttons
  *     * Remove all user-provided buttons at once
- *     * Allow automaticly hiding the infobar after a time period
+ *     * Allow automatically hiding the infobar after a time period
  *     * Show/hide using events
  *     * Place it inside an AUI manager
  *
@@ -130,7 +130,7 @@ public:
 
     /**
      * Add a button with the provided ID and text.
-     * The new button is created on the right-most positon.
+     * The new button is created on the right-most position.
      *
      * @param aId is the ID to assign to the button
      * @param aLabel is the text for the button
diff --git a/include/widgets/mathplot.h b/include/widgets/mathplot.h
index f3b8c71d86..a5d2a8696c 100644
--- a/include/widgets/mathplot.h
+++ b/include/widgets/mathplot.h
@@ -161,7 +161,7 @@ public:
     virtual bool HasBBox() const { return true; }
 
     /** Check whether the layer is an info box.
-     *  The default implementation returns \a false. It is overrided to \a true for mpInfoLayer
+     *  The default implementation returns \a false. It is overridden to \a true for mpInfoLayer
      *  class and its derivative. It is necessary to define mouse actions behaviour over
      *  info boxes.
      *  @return whether the layer is an info boxes
@@ -346,9 +346,9 @@ public:
     /** Destructor */
     virtual ~mpInfoLayer();
 
-    /** Updates the content of the info box. Should be overidden by derived classes.
+    /** Updates the content of the info box. Should be overridden by derived classes.
      *  Update may behave in different ways according to the type of event which called it.
-     *  @param w parent mpWindow from which to obtain informations
+     *  @param w parent mpWindow from which to obtain information
      *  @param event The event which called the update. */
     virtual void UpdateInfo( mpWindow& w, wxEvent& event );
 
@@ -356,7 +356,7 @@ public:
      *  @return always \a false */
     virtual bool HasBBox() const override { return false; }
 
-    /** Plot method. Can be overidden by derived classes.
+    /** Plot method. Can be overridden by derived classes.
      *  @param dc the device content where to plot
      *  @param w the window to plot
      *  @sa mpLayer::Plot */
@@ -1106,7 +1106,7 @@ public:
      *  @return Scale
      */
     double GetXscl() const { return m_scaleX; }
-    double GetScaleX( void ) const { return m_scaleX; };  // Schaling's method: maybe another method esists with the same name
+    double GetScaleX( void ) const { return m_scaleX; };  // Schaling's method: maybe another method exists with the same name
 
     /** Get current view's Y scale.
      *  See @ref mpLayer::Plot "rules for coordinate transformation"
@@ -1665,7 +1665,7 @@ public:
 /** Plot layer implementing a text string.
  *  The text is plotted using a percentage system 0-100%, so the actual
  *  coordinates for the location are not required, and the text stays
- *  on the plot reguardless of the other layers location and scaling
+ *  on the plot regardless of the other layers location and scaling
  *  factors.
  */
 class WXDLLIMPEXP_MATHPLOT mpText : public mpLayer
diff --git a/include/widgets/progress_reporter.h b/include/widgets/progress_reporter.h
index 541e619bf6..bdbe73188d 100644
--- a/include/widgets/progress_reporter.h
+++ b/include/widgets/progress_reporter.h
@@ -63,12 +63,12 @@ public:
     virtual void BeginPhase( int aPhase );
 
     /**
-     * Uses the next vailable virtual zone of the dialog progress bar
+     * Uses the next available virtual zone of the dialog progress bar
      */
     virtual void AdvancePhase();
 
     /**
-     * Uses the next vailable virtual zone of the dialog progress bar and updates
+     * Uses the next available virtual zone of the dialog progress bar and updates
      * the message.
      */
     virtual void AdvancePhase( const wxString& aMessage );
@@ -84,7 +84,7 @@ public:
     virtual void SetCurrentProgress( double aProgress );
 
     /**
-     * Fix the value thar gives the 100 precent progress bar length
+     * Fix the value thar gives the 100 percent progress bar length
      * (inside the current virtual zone)
      */
     void SetMaxProgress( int aMaxProgress );
diff --git a/include/widgets/widget_hotkey_list.h b/include/widgets/widget_hotkey_list.h
index bf292e11f9..12c646e2f1 100644
--- a/include/widgets/widget_hotkey_list.h
+++ b/include/widgets/widget_hotkey_list.h
@@ -124,7 +124,7 @@ protected:
      * current in, or else this method will prompt for the self-change.
      *
      * The method will do conflict resolution depending on aSectionTag.
-     * g_CommonSectionTag means the key code must only be checkd with the aSectionTag section
+     * g_CommonSectionTag means the key code must only be checked with the aSectionTag section
      * and g_CommonSectionTag section.
      *
      * @param aKey - key to check
diff --git a/include/widgets/wx_ellipsized_static_text.h b/include/widgets/wx_ellipsized_static_text.h
index 42a6c714f6..c11924a5a0 100644
--- a/include/widgets/wx_ellipsized_static_text.h
+++ b/include/widgets/wx_ellipsized_static_text.h
@@ -44,7 +44,7 @@ public:
 
     /**
      * Set the string that is used for determining the requested size of the control. The control
-     * will return this string length from GetBestSize(), irregardless of what string the control
+     * will return this string length from GetBestSize(), regardless of what string the control
      * is displaying.
      *
      * @param aString is the smallest string to display without ellipses
diff --git a/kicad/CMakeLists.txt b/kicad/CMakeLists.txt
index 43a61ebcfe..b38c195a91 100644
--- a/kicad/CMakeLists.txt
+++ b/kicad/CMakeLists.txt
@@ -85,7 +85,7 @@ else()
     target_link_libraries( kicad
         common
         gal
-        common      #repeated due to a circular dependancy bewteen gal and common
+        common      #repeated due to a circular dependency between gal and common
         ${wxWidgets_LIBRARIES}
         ${GDI_PLUS_LIBRARIES}
         )
diff --git a/kicad/kicad.cpp b/kicad/kicad.cpp
index 6c95dd3752..30d808ce33 100644
--- a/kicad/kicad.cpp
+++ b/kicad/kicad.cpp
@@ -113,7 +113,7 @@ bool PGM_KICAD::OnPgmInit()
     m_bm.Init();
 
     // Add search paths to feed the PGM_KICAD::SysSearch() function,
-    // currenly limited in support to only look for project templates
+    // currently limited in support to only look for project templates
     {
         SEARCH_STACK bases;
 
diff --git a/kicad/project_tree_pane.cpp b/kicad/project_tree_pane.cpp
index 903f13db2b..44fcb068b2 100644
--- a/kicad/project_tree_pane.cpp
+++ b/kicad/project_tree_pane.cpp
@@ -1185,7 +1185,7 @@ void PROJECT_TREE_PANE::FileWatcherReset()
     {
         // Due to a combination of a bug in SAMBA sending bad change event IDs and wxWidgets
         // choosing to fault on an invalid event ID instead of sanely ignoring them we need to
-        // avoid spawning a filewatcher. Unforunately this punishes corporate environments with
+        // avoid spawning a filewatcher. Unfortunately this punishes corporate environments with
         // Windows Server shares :/
         m_Parent->SetStatusText( _( "Network path: not monitoring folder changes" ), 1 );
         return;
diff --git a/libs/kimath/include/geometry/circle.h b/libs/kimath/include/geometry/circle.h
index a9a296c2c7..89a29f631b 100644
--- a/libs/kimath/include/geometry/circle.h
+++ b/libs/kimath/include/geometry/circle.h
@@ -43,7 +43,7 @@ public:
     CIRCLE( const CIRCLE& aOther );
 
     /**
-     * Constructs this circle such that it is tangent to the given segmetns and passes through the
+     * Constructs this circle such that it is tangent to the given segments and passes through the
      * given point, generating the solution which can be used to fillet both segments.
      *
      * The caller is responsible for ensuring it is providing a solvable problem. This function will
diff --git a/libs/kimath/include/geometry/geometry_utils.h b/libs/kimath/include/geometry/geometry_utils.h
index bf5cc6a33f..47679bb2b6 100644
--- a/libs/kimath/include/geometry/geometry_utils.h
+++ b/libs/kimath/include/geometry/geometry_utils.h
@@ -85,7 +85,7 @@ int GetCircleToPolyCorrection( int aMaxError );
 /**
  * Snap a vector onto the nearest 0, 45 or 90 degree line.
  *
- * The magnitude of the vector is NOT kept, instead the co-ordinates are
+ * The magnitude of the vector is NOT kept, instead the coordinates are
  * set equal (and/or opposite) or to zero as needed. The effect of this is
  * that if the starting vector is on a square grid, the resulting snapped
  * vector will still be on the same grid.
diff --git a/libs/kimath/include/geometry/poly_grid_partition.h b/libs/kimath/include/geometry/poly_grid_partition.h
index ca53e8cc61..bc0de2867d 100644
--- a/libs/kimath/include/geometry/poly_grid_partition.h
+++ b/libs/kimath/include/geometry/poly_grid_partition.h
@@ -55,7 +55,7 @@
  * - if the cell doesn't contain any edges, scan horizontal cells to the left and right (switching sides with each iteration)
  *   until an edge if found.
  * NOTE: the rescale_trunc() function is used for grid<->world coordinate conversion because it rounds towards 0 (not to nearest)
- * It's important as rouding to nearest (which the standard rescale() function does) will shift the grid by half a cell.
+ * It's important as rounding to nearest (which the standard rescale() function does) will shift the grid by half a cell.
  */
 
 class POLY_GRID_PARTITION
diff --git a/libs/kimath/include/geometry/seg.h b/libs/kimath/include/geometry/seg.h
index da536f7c1c..38705cf475 100644
--- a/libs/kimath/include/geometry/seg.h
+++ b/libs/kimath/include/geometry/seg.h
@@ -395,7 +395,7 @@ private:
                      VECTOR2I* aPt = nullptr ) const;
 
 private:
-    ///< index withing the parent shape (used when m_is_local == false)
+    ///< index within the parent shape (used when m_is_local == false)
     int m_index;
 };
 
diff --git a/libs/kimath/include/geometry/shape.h b/libs/kimath/include/geometry/shape.h
index bf30a21ca8..d926b55eb1 100644
--- a/libs/kimath/include/geometry/shape.h
+++ b/libs/kimath/include/geometry/shape.h
@@ -281,7 +281,7 @@ public:
      * For closed shapes only.
      *
      * @param aPt point to check
-     * @param aUseBBoxCache gives better peformance if the bounding box caches have been
+     * @param aUseBBoxCache gives better performance if the bounding box caches have been
      *                      generated.
      * @return true if the point is inside the shape (edge is not treated as being inside).
      */
diff --git a/libs/kimath/include/geometry/shape_line_chain.h b/libs/kimath/include/geometry/shape_line_chain.h
index 64e6f1eb9a..8dda88fccb 100644
--- a/libs/kimath/include/geometry/shape_line_chain.h
+++ b/libs/kimath/include/geometry/shape_line_chain.h
@@ -38,7 +38,7 @@
  * SHAPE_LINE_CHAIN
  *
  * Represents a polyline (an zero-thickness chain of connected line segments).
- * I purposedly didn't name it "polyline" to avoid confusion with the existing CPolyLine
+ * I purposely didn't name it "polyline" to avoid confusion with the existing CPolyLine
  * in pcbnew.
  *
  * SHAPE_LINE_CHAIN class shall not be used for polygons!
@@ -68,7 +68,7 @@ public:
         /// when true, the corner [index_their] of the 'their' line lies exactly on 'our' line.
         /// Note that when both is_corner_our and is_corner_their are set, the line chains touch with with corners
         bool is_corner_their;
-        /// auxillary flag to avoid copying intersection info to intersection refining code, used by the refining
+        /// auxiliary flag to avoid copying intersection info to intersection refining code, used by the refining
         /// code (e.g. hull handling stuff in the P&S) to reject false intersection points.
         bool valid;
     };
@@ -542,7 +542,7 @@ public:
      *
      * Searches for point aP.
      * @param aP the point to be looked for
-     * @return index of the correspoinding point in the line chain or negative when not found.
+     * @return index of the corresponding point in the line chain or negative when not found.
      */
     int Find( const VECTOR2I& aP, int aThreshold = 0 ) const;
 
@@ -551,7 +551,7 @@ public:
      *
      * Searches for segment containing point aP.
      * @param aP the point to be looked for
-     * @return index of the correspoinding segment in the line chain or negative when not found.
+     * @return index of the corresponding segment in the line chain or negative when not found.
      */
     int FindSegment( const VECTOR2I& aP, int aThreshold = 1 ) const;
 
diff --git a/libs/kimath/include/geometry/shape_poly_set.h b/libs/kimath/include/geometry/shape_poly_set.h
index e681d2b956..e1ff654d0d 100644
--- a/libs/kimath/include/geometry/shape_poly_set.h
+++ b/libs/kimath/include/geometry/shape_poly_set.h
@@ -986,7 +986,7 @@ public:
      */
     void InflateWithLinkedHoles( int aFactor, int aCircleSegmentsCount, POLYGON_MODE aFastMode );
 
-    ///< Convert a set of polygons with holes to a singe outline with "slits"/"fractures"
+    ///< Convert a set of polygons with holes to a single outline with "slits"/"fractures"
     ///< connecting the outer ring to the inner holes
     ///< For \a aFastMode meaning, see function booleanOp
     void Fracture( POLYGON_MODE aFastMode );
diff --git a/libs/kimath/include/math/util.h b/libs/kimath/include/math/util.h
index 32cda82a14..d6693a5c35 100644
--- a/libs/kimath/include/math/util.h
+++ b/libs/kimath/include/math/util.h
@@ -55,7 +55,7 @@ template <typename T> inline const T& Clamp( const T& lower, const T& value, con
     return value;
 }
 
-// Surpress an annoying warning that the explicit rounding we do is not precise
+// Suppress an annoying warning that the explicit rounding we do is not precise
 #ifdef HAVE_WIMPLICIT_FLOAT_CONVERSION
     _Pragma( "GCC diagnostic push" ) \
     _Pragma( "GCC diagnostic ignored \"-Wimplicit-int-float-conversion\"" )
diff --git a/libs/kimath/src/bezier_curves.cpp b/libs/kimath/src/bezier_curves.cpp
index a22cfc9acc..ff734e9666 100644
--- a/libs/kimath/src/bezier_curves.cpp
+++ b/libs/kimath/src/bezier_curves.cpp
@@ -82,7 +82,7 @@ void BEZIER_POLY::GetPoly( std::vector<VECTOR2D>& aOutput, double aMinSegLen )
                               + 3.0 * t2 * omt * m_ctrlPts[2]
                               + t3 * m_ctrlPts[3];
 
-            // a minimal filter on the lenght of the segment being created:
+            // a minimal filter on the length of the segment being created:
             // The offset from last point:
             VECTOR2D delta = vertex - aOutput.back();
             double dist = delta.EuclideanNorm();
diff --git a/libs/kimath/src/geometry/shape_arc.cpp b/libs/kimath/src/geometry/shape_arc.cpp
index 70940ed5f9..344efa23ce 100644
--- a/libs/kimath/src/geometry/shape_arc.cpp
+++ b/libs/kimath/src/geometry/shape_arc.cpp
@@ -81,7 +81,7 @@ SHAPE_ARC::SHAPE_ARC( const SEG& aSegmentA, const SEG& aSegmentB, int aRadius, i
      * c is the centre of the arc to be constructed
      * rad is the radius of the arc to be constructed
      *
-     * We can create two vectors, betweeen point p and segA /segB
+     * We can create two vectors, between point p and segA /segB
      *    pToA = p - segA.B   //< note that segA.A would also be valid as it is colinear
      *    pToB = p - segB.B   //< note that segB.A would also be valid as it is colinear
      *
diff --git a/libs/kimath/src/geometry/shape_poly_set.cpp b/libs/kimath/src/geometry/shape_poly_set.cpp
index dd912c69cd..0ba1398571 100644
--- a/libs/kimath/src/geometry/shape_poly_set.cpp
+++ b/libs/kimath/src/geometry/shape_poly_set.cpp
@@ -1458,7 +1458,7 @@ bool SHAPE_POLY_SET::CollideVertex( const VECTOR2I& aPoint,
     VECTOR2D    delta;
     double      distance, clearance;
 
-    // Convert clearance to double for precission when comparing distances
+    // Convert clearance to double for precision when comparing distances
     clearance = aClearance;
 
     for( CONST_ITERATOR iterator = CIterateWithHoles(); iterator; iterator++ )
diff --git a/libs/kiplatform/gtk/environment.cpp b/libs/kiplatform/gtk/environment.cpp
index ab2a99d69b..10476a66d6 100644
--- a/libs/kiplatform/gtk/environment.cpp
+++ b/libs/kiplatform/gtk/environment.cpp
@@ -35,7 +35,7 @@ void KIPLATFORM::ENV::Init()
     if( wxGetEnv( wxT( "XDG_CURRENT_DESKTOP" ), &wm ) && wm.CmpNoCase( wxT( "Unity" ) ) == 0 )
         wxSetEnv ( wxT("UBUNTU_MENUPROXY" ), wxT( "0" ) );
 
-    // Force the use of X11 backend (or wayland-x11 compatibilty layer).  This is
+    // Force the use of X11 backend (or wayland-x11 compatibility layer).  This is
     // required until wxWidgets supports the Wayland compositors
     wxSetEnv( wxT( "GDK_BACKEND" ), wxT( "x11" ) );
 
diff --git a/libs/kiplatform/include/kiplatform/app.h b/libs/kiplatform/include/kiplatform/app.h
index 987961f713..f658dfcc05 100644
--- a/libs/kiplatform/include/kiplatform/app.h
+++ b/libs/kiplatform/include/kiplatform/app.h
@@ -70,7 +70,7 @@ namespace KIPLATFORM
          * This is mainly intended for Windows platforms where this is a native feature.
          *
          * @param aWindow that will have a shutdown blocker message
-         * @param aReason to display why the shutdown block is occuring
+         * @param aReason to display why the shutdown block is occurring
          */
         void SetShutdownBlockReason( wxWindow* aWindow, const wxString& aReason );
 
diff --git a/libs/kiplatform/msw/environment.cpp b/libs/kiplatform/msw/environment.cpp
index f023c0650b..06af716701 100644
--- a/libs/kiplatform/msw/environment.cpp
+++ b/libs/kiplatform/msw/environment.cpp
@@ -81,7 +81,7 @@ wxString KIPLATFORM::ENV::GetUserConfigPath()
 
 wxString KIPLATFORM::ENV::GetUserCachePath()
 {
-    // Unforunately AppData/Local is the closest analog to "Cache" directories of other platforms
+    // Unfortunately AppData/Local is the closest analog to "Cache" directories of other platforms
 
     // Make sure we dont include the "appinfo" (appended app name)
     wxStandardPaths::Get().UseAppInfo( wxStandardPaths::AppInfo_None );
diff --git a/pagelayout_editor/dialogs/properties_frame.cpp b/pagelayout_editor/dialogs/properties_frame.cpp
index 7e7c8f98a3..240f45b7c7 100644
--- a/pagelayout_editor/dialogs/properties_frame.cpp
+++ b/pagelayout_editor/dialogs/properties_frame.cpp
@@ -102,7 +102,7 @@ wxSize PROPERTIES_FRAME::GetMinSize() const
 }
 
 
-// Data transfert from general properties to widgets
+// Data transfer from general properties to widgets
 void PROPERTIES_FRAME::CopyPrmsFromGeneralToPanel()
 {
     DS_DATA_MODEL& model = DS_DATA_MODEL::GetTheInstance();
@@ -126,7 +126,7 @@ void PROPERTIES_FRAME::CopyPrmsFromGeneralToPanel()
     m_textCtrlBottomMarginBinder.SetDoubleValue( From_User_Unit( EDA_UNITS::MILLIMETRES, model.GetBottomMargin() ) );
 }
 
-// Data transfert from widgets to general properties
+// Data transfer from widgets to general properties
 bool PROPERTIES_FRAME::CopyPrmsFromPanelToGeneral()
 {
     DS_DATA_MODEL& model = DS_DATA_MODEL::GetTheInstance();
@@ -149,7 +149,7 @@ bool PROPERTIES_FRAME::CopyPrmsFromPanelToGeneral()
     model.SetBottomMargin(
             To_User_Unit( EDA_UNITS::MILLIMETRES, m_textCtrlBottomMarginBinder.GetValue() ) );
 
-    // cordinates of the left top corner are the left and top margins
+    // coordinates of the left top corner are the left and top margins
     model.SetLeftMargin(
             To_User_Unit( EDA_UNITS::MILLIMETRES, m_textCtrlLeftMarginBinder.GetValue() ) );
     model.SetTopMargin(
@@ -159,7 +159,7 @@ bool PROPERTIES_FRAME::CopyPrmsFromPanelToGeneral()
 }
 
 
-// Data transfert from item to widgets in properties frame
+// Data transfer from item to widgets in properties frame
 void PROPERTIES_FRAME::CopyPrmsFromItemToPanel( DS_DATA_ITEM* aItem )
 {
     if( !aItem )
@@ -320,7 +320,7 @@ void PROPERTIES_FRAME::CopyPrmsFromItemToPanel( DS_DATA_ITEM* aItem )
     m_swItemProperties->Layout();
 #ifdef __WXGTK__
     // This call is mandatory on wxGTK to initialize the right virtual size and therefore
-    // scrollbars, but for some reason, create issues on Windows (incorrect disply
+    // scrollbars, but for some reason, create issues on Windows (incorrect display
     // until the frame is resized). Joys of multiplatform dev.
     m_swItemProperties->Fit();
 #endif
@@ -379,7 +379,7 @@ void PROPERTIES_FRAME::OnSetDefaultValues( wxCommandEvent& event )
 }
 
 
-// Data transfert from  properties frame to item parameters
+// Data transfer from  properties frame to item parameters
 bool PROPERTIES_FRAME::CopyPrmsFromPanelToItem( DS_DATA_ITEM* aItem )
 {
     if( aItem == NULL )
diff --git a/pagelayout_editor/dialogs/properties_frame.h b/pagelayout_editor/dialogs/properties_frame.h
index ad835f1c5b..f3c234cc83 100644
--- a/pagelayout_editor/dialogs/properties_frame.h
+++ b/pagelayout_editor/dialogs/properties_frame.h
@@ -84,16 +84,16 @@ public:
     void OnSetDefaultValues( wxCommandEvent& event ) override;
     void onScintillaCharAdded( wxStyledTextEvent &aEvent );
 
-    // Data transfert from general properties to widgets
+    // Data transfer from general properties to widgets
     void CopyPrmsFromGeneralToPanel();
 
-    // Data transfert from widgets to general properties
+    // Data transfer from widgets to general properties
     bool CopyPrmsFromPanelToGeneral();
 
-    // Data transfert from item to widgets in properties frame
+    // Data transfer from item to widgets in properties frame
     void CopyPrmsFromItemToPanel( DS_DATA_ITEM* aItem );
 
-    // Data transfert from widgets in properties frame to item
+    // Data transfer from widgets in properties frame to item
     bool CopyPrmsFromPanelToItem( DS_DATA_ITEM* aItem );
 
     wxSize GetMinSize() const override;
diff --git a/pagelayout_editor/tools/pl_selection_tool.cpp b/pagelayout_editor/tools/pl_selection_tool.cpp
index 5504d89fbf..0be8941b47 100644
--- a/pagelayout_editor/tools/pl_selection_tool.cpp
+++ b/pagelayout_editor/tools/pl_selection_tool.cpp
@@ -107,7 +107,7 @@ int PL_SELECTION_TOOL::Main( const TOOL_EVENT& aEvent )
     while( TOOL_EVENT* evt = Wait() )
     {
         // on left click, a selection is made, depending on modifiers ALT, SHIFT, CTRL:
-        // Due to the fact ALT key modifier cannot be useed freely on Winows and Linux,
+        // Due to the fact ALT key modifier cannot be used freely on Winows and Linux,
         // actions are different on OSX and others OS
         // Especially, ALT key cannot be used to force showing the full selection choice
         // context menu (the menu is immediately closed on Windows )
diff --git a/pcb_calculator/dialogs/dialog_regulator_form.h b/pcb_calculator/dialogs/dialog_regulator_form.h
index c55826f904..acb31f6335 100644
--- a/pcb_calculator/dialogs/dialog_regulator_form.h
+++ b/pcb_calculator/dialogs/dialog_regulator_form.h
@@ -63,7 +63,7 @@ public:
 
     /**
      * Function CopyRegulatorDataToDialog
-     * Transfert data from dialog to aItem
+     * Transfer data from dialog to aItem
      * @param aItem = a pointer to the REGULATOR_DATA
      */
     void CopyRegulatorDataToDialog( REGULATOR_DATA* aItem );
@@ -76,7 +76,7 @@ public:
     REGULATOR_DATA* BuildRegulatorFromData();
 
     /**
-     * Enable/disable Iadj realted widgets, according to
+     * Enable/disable Iadj related widgets, according to
      * the regulator type
      */
     void UpdateDialog();
diff --git a/pcb_calculator/eserie.cpp b/pcb_calculator/eserie.cpp
index 6aaa555f6a..93525529fe 100644
--- a/pcb_calculator/eserie.cpp
+++ b/pcb_calculator/eserie.cpp
@@ -292,12 +292,12 @@ void PCB_CALCULATOR_FRAME::OnCalculateESeries( wxCommandEvent& event )
     wxString es, fs;          // error and formula strings
 
     reqr = ( 1000 * DoubleFromString( m_ResRequired->GetValue() ) );
-    r.SetRequiredValue( reqr ); // keep a local copy of requred resistor value
+    r.SetRequiredValue( reqr ); // keep a local copy of required resistor value
     r.NewCalc();     // assume all values available
     /*
      * Exclude itself. For the case, a value from the available series is found as required value,
      * the calculator assumes this value needs a replacement for the reason of being not available.
-     * Two further exclude values can be entered to exclude and are skipped as not being availabe.
+     * Two further exclude values can be entered to exclude and are skipped as not being available.
      * All values entered in KiloOhms are converted to Ohm for internal calculation
      */
     r.Exclude( 1000 * DoubleFromString( m_ResRequired->GetValue()));
diff --git a/pcb_calculator/eserie.h b/pcb_calculator/eserie.h
index 4bcf58681a..128ebe3ef7 100644
--- a/pcb_calculator/eserie.h
+++ b/pcb_calculator/eserie.h
@@ -22,7 +22,7 @@ extern double DoubleFromString( const wxString& TextValue );
 
 /**
  * If BENCHMARK is defined, any 4R E12 calculations will print its execution time to console
- * My Hasswell Enthusiast reports 225 mSec what are reproducable within plusminus 2 percent
+ * My Hasswell Enthusiast reports 225 mSec what are reproducible within plusminus 2 percent
  */
 
 //#define BENCHMARK
@@ -33,7 +33,7 @@ extern double DoubleFromString( const wxString& TextValue );
  * For this historical reason, rounding rules of some values are sometimes irregular.
  * Although all E-Values could be calculated at runtime, we initialize them in a lookup table
  * what seems the most easy way to consider any inconvenient irregular rules. Same table is
- * also used to lookup non calculatable but readable BOM value strings. Supported E-series are:
+ * also used to lookup non calculable but readable BOM value strings. Supported E-series are:
  */
 
 enum             { E1, E3, E6, E12 };
diff --git a/pcb_calculator/params_read_write.cpp b/pcb_calculator/params_read_write.cpp
index 1b9681c8be..4cf7134438 100644
--- a/pcb_calculator/params_read_write.cpp
+++ b/pcb_calculator/params_read_write.cpp
@@ -27,7 +27,7 @@
 
 /*
  * Return the value from a string,
- * Unlike standard string to double convertion,
+ * Unlike standard string to double conversion,
  * both point and comma F.P. separator are accepted
  * and values having units (like 4.7 K) are accepted
  * but units are ignored.
diff --git a/pcb_calculator/pcb_calculator_frame.cpp b/pcb_calculator/pcb_calculator_frame.cpp
index fdafd75399..7f33e78e70 100644
--- a/pcb_calculator/pcb_calculator_frame.cpp
+++ b/pcb_calculator/pcb_calculator_frame.cpp
@@ -143,7 +143,7 @@ PCB_CALCULATOR_FRAME::PCB_CALCULATOR_FRAME( KIWAY* aKiway, wxWindow* aParent ) :
 
     SetIcons( icon_bundle );
 
-    // Autosize the the row label column to be sure label are not truncated
+    // Autosize the row label column to be sure label are not truncated
     m_gridClassesValuesDisplay->SetRowLabelSize( wxGRID_AUTOSIZE );
     m_gridElectricalSpacingValues->SetRowLabelSize( wxGRID_AUTOSIZE );
 
@@ -170,7 +170,7 @@ PCB_CALCULATOR_FRAME::~PCB_CALCULATOR_FRAME()
     delete m_ccMultipliersBitmap;
     delete m_ccTolerancesBitmap;
 
-    // This needed for OSX: avoids furter OnDraw processing after this destructor and before
+    // This needed for OSX: avoids further OnDraw processing after this destructor and before
     // the native window is destroyed
     this->Freeze();
 }
diff --git a/pcb_calculator/transline/c_microstrip.cpp b/pcb_calculator/transline/c_microstrip.cpp
index abba75d04f..30b4eb101d 100644
--- a/pcb_calculator/transline/c_microstrip.cpp
+++ b/pcb_calculator/transline/c_microstrip.cpp
@@ -659,7 +659,7 @@ void C_MICROSTRIP::synth_width()
 
     syn_err_fun( &f1, &f2, s_h, w_h, e_r, w_h_se, w_h_so );
 
-    /* rather crude Newton-Rhapson; we need this beacuse the estimate of */
+    /* rather crude Newton-Rhapson; we need this because the estimate of */
     /* w_h is often quite far from the true value (see Akhtarzad S. et al.) */
     do
     {
@@ -682,7 +682,7 @@ void C_MICROSTRIP::synth_width()
         s_h += d_s_h;
         w_h += d_w_h;
 
-        /* chech the error */
+        /* check the error */
         syn_err_fun( &f1, &f2, s_h, w_h, e_r, w_h_se, w_h_so );
 
         err = sqrt( f1 * f1 + f2 * f2 );
diff --git a/pcb_calculator/transline/microstrip.cpp b/pcb_calculator/transline/microstrip.cpp
index cd489965b0..a1bee388cc 100644
--- a/pcb_calculator/transline/microstrip.cpp
+++ b/pcb_calculator/transline/microstrip.cpp
@@ -189,7 +189,7 @@ void MICROSTRIP::microstrip_Z0()
     delta_u_1 = delta_u_thickness( u, t_h, 1.0 );
     /* compute homogeneous stripline impedance */
     Z0_h_1 = Z0_homogeneous( u + delta_u_1 );
-    /* compute normalized width corection */
+    /* compute normalized width correction */
     delta_u_r = delta_u_thickness( u, t_h, e_r );
     u += delta_u_r;
     /* compute homogeneous stripline impedance */
diff --git a/pcb_calculator/transline/transline.cpp b/pcb_calculator/transline/transline.cpp
index eef73365b0..bbd08bfdaa 100644
--- a/pcb_calculator/transline/transline.cpp
+++ b/pcb_calculator/transline/transline.cpp
@@ -163,8 +163,8 @@ void TRANSLINE::getProperties( void )
  **/
 void TRANSLINE::checkProperties( void )
 {
-    // Do not check for values that are results of anylzing / synthesizing
-    // Do not check for transline specific incompatibilities ( like " conductor height sould be lesser than dielectric height")
+    // Do not check for values that are results of analyzing / synthesizing
+    // Do not check for transline specific incompatibilities ( like " conductor height should be lesser than dielectric height")
     if( !std::isfinite( m_parameters[EPSILONR_PRM] ) || m_parameters[EPSILONR_PRM] <= 0 )
         setErrorLevel( EPSILONR_PRM, TRANSLINE_WARNING );
 
diff --git a/pcbnew/autorouter/ar_matrix.cpp b/pcbnew/autorouter/ar_matrix.cpp
index 95833c9d89..6f756d00c4 100644
--- a/pcbnew/autorouter/ar_matrix.cpp
+++ b/pcbnew/autorouter/ar_matrix.cpp
@@ -874,11 +874,11 @@ void AR_MATRIX::CreateKeepOutRectangle(
 
         for( col = col_min; col <= col_max; col++ )
         {
-            // RoutingMatrix Dist map containt the "cost" of the cell
+            // RoutingMatrix Dist map contained the "cost" of the cell
             // at position (row, col)
             // in autoplace this is the cost of the cell, when
             // a footprint overlaps it, near a "master" footprint
-            // this cost is hight near the "master" footprint
+            // this cost is high near the "master" footprint
             // and decrease with the distance
             cgain = 256;
             LocalKeepOut = aKeepOut;
diff --git a/pcbnew/autorouter/spread_footprints.cpp b/pcbnew/autorouter/spread_footprints.cpp
index 0e9a53f5c5..8b140f3ce5 100644
--- a/pcbnew/autorouter/spread_footprints.cpp
+++ b/pcbnew/autorouter/spread_footprints.cpp
@@ -28,7 +28,7 @@
 /**
  * @file spread_footprints.cpp
  * @brief functions to spread footprints on free areas outside a board.
- * this is usefull after reading a netlist, when new footprints are loaded
+ * this is useful after reading a netlist, when new footprints are loaded
  * and stacked at 0,0 coordinate.
  * Often, spread them on a free area near the board being edited make more easy
  * their selection.
diff --git a/pcbnew/board.cpp b/pcbnew/board.cpp
index bd22e40790..63f38bc263 100644
--- a/pcbnew/board.cpp
+++ b/pcbnew/board.cpp
@@ -1798,7 +1798,7 @@ std::tuple<int, double, double> BOARD::GetTrackLength( const TRACK& aTrack ) con
 
                         segLen = trackSeg.Length();
 
-                        // Part 2: length from the interesection to the pad anchor
+                        // Part 2: length from the intersection to the pad anchor
                         segInPadLen += ( loc - pad->GetPosition() ).EuclideanNorm();
                     }
                 }
diff --git a/pcbnew/board_design_settings.cpp b/pcbnew/board_design_settings.cpp
index fb57805d56..e04cc746d9 100644
--- a/pcbnew/board_design_settings.cpp
+++ b/pcbnew/board_design_settings.cpp
@@ -761,7 +761,7 @@ bool BOARD_DESIGN_SETTINGS::migrateSchema0to1()
      * 1: 0.001mm / 0.1 mil / 0.0001 in
      * 2: 0.0001mm / 0.01 mil / 0.00001 in
      *
-     * Now it is indepenent of display units and is an integer meaning the number of digits
+     * Now it is independent of display units and is an integer meaning the number of digits
      * displayed after the decimal point, so we have to migrate based on the default units.
      *
      * The units is an integer with the following mapping:
diff --git a/pcbnew/board_stackup_manager/board_stackup.h b/pcbnew/board_stackup_manager/board_stackup.h
index e378923be3..7c98fcbfb1 100644
--- a/pcbnew/board_stackup_manager/board_stackup.h
+++ b/pcbnew/board_stackup_manager/board_stackup.h
@@ -280,7 +280,7 @@ public:
      * layers, and half the height of the given start and end layers.  This half-height calculation
      * allows this to be used for consistent length measurements when calculating net length through
      * a series of vias.  A more advanced algorithm would be possible once we have a good concept of
-     * the start and end for a length measurment, but for now this will do.
+     * the start and end for a length measurement, but for now this will do.
      * See https://gitlab.com/kicad/code/kicad/-/issues/8384 for more background.
      *
      * @param aFirstLayer is a copper layer
diff --git a/pcbnew/board_stackup_manager/panel_board_stackup.h b/pcbnew/board_stackup_manager/panel_board_stackup.h
index 75d94d986d..88e22b53ce 100644
--- a/pcbnew/board_stackup_manager/panel_board_stackup.h
+++ b/pcbnew/board_stackup_manager/panel_board_stackup.h
@@ -139,8 +139,8 @@ private:
 
     /** add a control (a wxTextCtrl + a button) in m_fgGridSizer to select a material
      * @param aId is the wxControl id, used to know the event source
-     * @param aMaterialName is the the name of the currently selected material (can be null)
-     * @param aUiRowItem is the the BOARD_STACKUP_ROW_UI_ITEM to store the controls
+     * @param aMaterialName is the name of the currently selected material (can be null)
+     * @param aUiRowItem is the BOARD_STACKUP_ROW_UI_ITEM to store the controls
      * created
      */
     void addMaterialChooser( wxWindowID aId, const wxString * aMaterialName,
@@ -165,7 +165,7 @@ private:
 
     /** Show or do not show items in m_fgGridSizer according to the stackup of the
      * current board.
-     * The panel stackup stores all posible layers (because the number of layers is set
+     * The panel stackup stores all possible layers (because the number of layers is set
      * from an other panel), but only some of them must be actually shown on screen
      */
     void showOnlyActiveLayers();
@@ -214,7 +214,7 @@ private:
 
     /** creates a bitmap combobox to select a layer color
      * @return the created wxBitmapComboBox
-     * @param aStackupItem = the BOARD_STACKUP_ITEM realted to the bitmap combobox
+     * @param aStackupItem = the BOARD_STACKUP_ITEM related to the bitmap combobox
      * (to set the user color, if any)
      * can be nullptr
      * @param aRow = the row index in the wxFlexGridSizer (used to build a wxWidget unique id)
diff --git a/pcbnew/collectors.cpp b/pcbnew/collectors.cpp
index bb237e3551..134099a54e 100644
--- a/pcbnew/collectors.cpp
+++ b/pcbnew/collectors.cpp
@@ -236,7 +236,7 @@ SEARCH_RESULT GENERAL_COLLECTOR::Inspect( EDA_ITEM* testItem, void* testData )
     {
     case PCB_PAD_T:
         // there are pad specific visibility controls.
-        // Criterias to select a pad is:
+        // Criteria to select a pad is:
         // for smd pads: the footprint parent must be visible, and pads on the corresponding
         // board side must be visible
         // if pad is a thru hole, then it can be visible when its parent footprint is not.
@@ -465,7 +465,7 @@ SEARCH_RESULT GENERAL_COLLECTOR::Inspect( EDA_ITEM* testItem, void* testData )
                     else if( dimension )
                     {
                         // Dimensions feel particularly hard to select, probably due to their
-                        // noisy shape making it feel like they should have a larger bounary.
+                        // noisy shape making it feel like they should have a larger boundary.
                         if( dimension->HitTest( m_refPos, KiROUND( accuracy * 1.5 ) ) )
                         {
                             Append( dimension );
@@ -539,7 +539,7 @@ SEARCH_RESULT GENERAL_COLLECTOR::Inspect( EDA_ITEM* testItem, void* testData )
                     else if( dimension )
                     {
                         // Dimensions feels particularly hard to select, probably due to their
-                        // noisy shape making it feel like they should have a larger bounary.
+                        // noisy shape making it feel like they should have a larger boundary.
                         if( dimension->HitTest( m_refPos, KiROUND( accuracy * 1.5 ) ) )
                         {
                             Append2nd( dimension );
diff --git a/pcbnew/connectivity/connectivity_data.h b/pcbnew/connectivity/connectivity_data.h
index 5a2a67a613..ef1adaa50e 100644
--- a/pcbnew/connectivity/connectivity_data.h
+++ b/pcbnew/connectivity/connectivity_data.h
@@ -138,7 +138,7 @@ public:
 
     /**
      * Moves the connectivity list anchors.  N.B., this does not move the bounding
-     * boxes for the the RTree, so the use of this function will invalidate the
+     * boxes for the RTree, so the use of this function will invalidate the
      * connectivity data for uses other than the dynamic ratsnest
      *
      * @param aDelta vector for movement of the tree
diff --git a/pcbnew/dialogs/dialog_drc.cpp b/pcbnew/dialogs/dialog_drc.cpp
index 2b541a5457..8d5fc56cc2 100644
--- a/pcbnew/dialogs/dialog_drc.cpp
+++ b/pcbnew/dialogs/dialog_drc.cpp
@@ -409,7 +409,7 @@ void DIALOG_DRC::OnDRCItemDClick( wxDataViewEvent& aEvent )
             Show( false );
     }
 
-    // Do not skip aVent here: tihs is not useful, and Pcbnew crashes
+    // Do not skip aVent here: this is not useful, and Pcbnew crashes
     // if skipped (at least on Windows)
 }
 
diff --git a/pcbnew/dialogs/dialog_export_step_base.h b/pcbnew/dialogs/dialog_export_step_base.h
index 16c3452ed2..7c4096cece 100644
--- a/pcbnew/dialogs/dialog_export_step_base.h
+++ b/pcbnew/dialogs/dialog_export_step_base.h
@@ -68,7 +68,7 @@ class DIALOG_EXPORT_STEP_BASE : public DIALOG_SHIM
 		wxButton* m_sdbSizerOK;
 		wxButton* m_sdbSizerCancel;
 
-		// Virtual event handlers, override them in your derived class
+		// Virtual event handlers, overide them in your derived class
 		virtual void onUpdateUnits( wxUpdateUIEvent& event ) { event.Skip(); }
 		virtual void onUpdateXPos( wxUpdateUIEvent& event ) { event.Skip(); }
 		virtual void onUpdateYPos( wxUpdateUIEvent& event ) { event.Skip(); }
diff --git a/pcbnew/dialogs/dialog_footprint_checker.cpp b/pcbnew/dialogs/dialog_footprint_checker.cpp
index 53e1166644..5abd29829c 100644
--- a/pcbnew/dialogs/dialog_footprint_checker.cpp
+++ b/pcbnew/dialogs/dialog_footprint_checker.cpp
@@ -231,7 +231,7 @@ void DIALOG_FOOTPRINT_CHECKER::OnLeftDClickItem( wxMouseEvent& event )
             Show( false );
     }
 
-    // Do not skip aVent here: tihs is not useful, and Pcbnew crashes
+    // Do not skip aVent here: this is not useful, and Pcbnew crashes
     // if skipped (at least on Windows)
 }
 
diff --git a/pcbnew/dialogs/dialog_footprint_properties_fp_editor.cpp b/pcbnew/dialogs/dialog_footprint_properties_fp_editor.cpp
index af9a4bdca1..d10ef8ef7a 100644
--- a/pcbnew/dialogs/dialog_footprint_properties_fp_editor.cpp
+++ b/pcbnew/dialogs/dialog_footprint_properties_fp_editor.cpp
@@ -448,7 +448,7 @@ void DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::OnAdd3DModel( wxCommandEvent&  )
     int      filter = 0;
 
     // If the PROJECT::VIEWER_3D_PATH hasn't been set yet, use the KICAD6_3DMODEL_DIR environment
-    // varaible and fall back to the project path if necessary.
+    // variable and fall back to the project path if necessary.
     if( initialpath.IsEmpty() )
     {
         if( !wxGetEnv( "KICAD6_3DMODEL_DIR", &initialpath ) || initialpath.IsEmpty() )
diff --git a/pcbnew/dialogs/dialog_gencad_export_options.cpp b/pcbnew/dialogs/dialog_gencad_export_options.cpp
index 225a26d4bf..c5d88a1e3e 100644
--- a/pcbnew/dialogs/dialog_gencad_export_options.cpp
+++ b/pcbnew/dialogs/dialog_gencad_export_options.cpp
@@ -65,7 +65,7 @@ DIALOG_GENCAD_EXPORT_OPTIONS::DIALOG_GENCAD_EXPORT_OPTIONS( PCB_EDIT_FRAME* aPar
     finishDialogSettings();
 
     // Set the path in m_filePicker, now the size is set
-    // (otherwize the text is truncated)
+    // (otherwise the text is truncated)
     m_filePicker->SetPath( aPath );
 
     Centre( wxBOTH );
diff --git a/pcbnew/dialogs/dialog_net_inspector.cpp b/pcbnew/dialogs/dialog_net_inspector.cpp
index e3ea769611..50a46e7c2c 100644
--- a/pcbnew/dialogs/dialog_net_inspector.cpp
+++ b/pcbnew/dialogs/dialog_net_inspector.cpp
@@ -276,7 +276,7 @@ private:
     // primary container, sorted by netcode number.
     // groups have netcode < 0, so they always come first, in the order
     // of the filter strings as input by the user (group mode 0, 1) or
-    // in order of occurance (group mode 2, 3).
+    // in order of occurrence (group mode 2, 3).
     std::vector<std::unique_ptr<LIST_ITEM>> m_items;
 
 public:
diff --git a/pcbnew/dialogs/dialog_pad_properties.cpp b/pcbnew/dialogs/dialog_pad_properties.cpp
index 2b8ae9538c..a81e7ca559 100644
--- a/pcbnew/dialogs/dialog_pad_properties.cpp
+++ b/pcbnew/dialogs/dialog_pad_properties.cpp
@@ -275,7 +275,7 @@ void DIALOG_PAD_PROPERTIES::prepareCanvas()
 
     m_padPreviewSizer->Add( m_padPreviewGAL, 12, wxEXPAND | wxALL, 5 );
 
-    // Show the X and Y axis. It is usefull because pad shape can have an offset
+    // Show the X and Y axis. It is useful because pad shape can have an offset
     // or be a complex shape.
     KIGFX::COLOR4D axis_color = LIGHTBLUE;
 
@@ -478,7 +478,7 @@ void DIALOG_PAD_PROPERTIES::initValues()
             angle -= footprint->GetOrientation();
             m_dummyPad->SetOrientation( angle );
 
-            // Diplay parent footprint info
+            // Display parent footprint info
             msg.Printf( _("Footprint %s (%s), %s, rotated %g deg"),
                          footprint->Reference().GetShownText(),
                          footprint->Value().GetShownText(),
@@ -1292,7 +1292,7 @@ bool DIALOG_PAD_PROPERTIES::padValuesOK()
     }
 
     // Some pads need a positive solder paste clearance (mainly for BGA with small pads)
-    // Hovewer, a positive value can create issues if the resulting shape is too big.
+    // However, a positive value can create issues if the resulting shape is too big.
     // (like a solder paste creating a solder paste area on a neighbour pad or on the solder mask)
     // So we could ask for user to confirm the choice
     // For now we just check for disappearing paste
@@ -1830,7 +1830,7 @@ bool DIALOG_PAD_PROPERTIES::transferDataToPad( PAD* aPad )
     if( aPad->GetShape() == PAD_SHAPE::CUSTOM )
     {
         // The pad custom has a "anchor pad" (a basic shape: round or rect pad)
-        // that is the minimal area of this pad, and is usefull to ensure a hole
+        // that is the minimal area of this pad, and is useful to ensure a hole
         // diameter is acceptable, and is used in Gerber files as flashed area
         // reference
         if( aPad->GetAnchorPadShape() == PAD_SHAPE::CIRCLE )
diff --git a/pcbnew/dialogs/dialog_track_via_properties.cpp b/pcbnew/dialogs/dialog_track_via_properties.cpp
index 168131c2a0..682b433be9 100644
--- a/pcbnew/dialogs/dialog_track_via_properties.cpp
+++ b/pcbnew/dialogs/dialog_track_via_properties.cpp
@@ -670,7 +670,7 @@ void DIALOG_TRACK_VIA_PROPERTIES::onViaEdit( wxCommandEvent& aEvent )
 
     if( m_vias )
     {
-        if( m_ViaTypeChoice->GetSelection() != 0 ) // check if selected type isnt through.
+        if( m_ViaTypeChoice->GetSelection() != 0 ) // check if selected type isn't through.
         {
             m_ViaStartLayer->Enable();
             m_ViaEndLayer->Enable();
diff --git a/pcbnew/drc/drc_engine.cpp b/pcbnew/drc/drc_engine.cpp
index 3367c126a3..4320985b06 100644
--- a/pcbnew/drc/drc_engine.cpp
+++ b/pcbnew/drc/drc_engine.cpp
@@ -665,7 +665,7 @@ void DRC_ENGINE::InitEngine( const wxFileName& aRulePath )
         }
         catch( PARSE_ERROR& )
         {
-            wxFAIL_MSG( "Compiling implict rules failed." );
+            wxFAIL_MSG( "Compiling implicit rules failed." );
         }
 
         throw original_parse_error;
diff --git a/pcbnew/drc/drc_test_provider_diff_pair_coupling.cpp b/pcbnew/drc/drc_test_provider_diff_pair_coupling.cpp
index 1ed01aa85c..88d0763eb7 100644
--- a/pcbnew/drc/drc_test_provider_diff_pair_coupling.cpp
+++ b/pcbnew/drc/drc_test_provider_diff_pair_coupling.cpp
@@ -259,7 +259,7 @@ static void extractDiffPairCoupledItems( DIFF_PAIR_ITEMS& aDp, DRC_RTREE& aTree
             SHAPE_SEGMENT checkSegStart( bestCoupled->coupledP.A, bestCoupled->coupledN.A );
             SHAPE_SEGMENT checkSegEnd( bestCoupled->coupledP.B, bestCoupled->coupledN.B );
 
-            // check if there's anyting in between the segments suspected to be coupled. If
+            // check if there's anything in between the segments suspected to be coupled. If
             // there's nothing, assume they are really coupled.
 
             if( !aTree.CheckColliding( &checkSegStart, sp->GetLayer(), 0, excludeSelf )
diff --git a/pcbnew/exporters/export_gencad.cpp b/pcbnew/exporters/export_gencad.cpp
index e7e0900576..0818a23069 100644
--- a/pcbnew/exporters/export_gencad.cpp
+++ b/pcbnew/exporters/export_gencad.cpp
@@ -805,7 +805,7 @@ static void CreateShapesSection( FILE* aFile, BOARD* aPcb )
 /* Creates the section $COMPONENTS (Footprints placement)
  * Bottom side components are difficult to handle: shapes must be mirrored or
  * flipped, silk layers need to be handled correctly and so on. Also it seems
- * that *noone* follows the specs...
+ * that *no one* follows the specs...
  */
 static void CreateComponentsSection( FILE* aFile, BOARD* aPcb )
 {
diff --git a/pcbnew/exporters/exporter_vrml.h b/pcbnew/exporters/exporter_vrml.h
index 146b683963..23f6a9ec25 100644
--- a/pcbnew/exporters/exporter_vrml.h
+++ b/pcbnew/exporters/exporter_vrml.h
@@ -99,7 +99,7 @@ struct VRML_COLOR
 };
 
 
-// Handle the board ans its board items to convert them to a VRML representation:
+// Handle the board and its board items to convert them to a VRML representation:
 class EXPORTER_PCB_VRML
 {
 public:
diff --git a/pcbnew/exporters/gen_footprints_placefile.cpp b/pcbnew/exporters/gen_footprints_placefile.cpp
index e979e51ca9..2700f1a15c 100644
--- a/pcbnew/exporters/gen_footprints_placefile.cpp
+++ b/pcbnew/exporters/gen_footprints_placefile.cpp
@@ -259,7 +259,7 @@ bool DIALOG_GEN_FOOTPRINT_POSITION::CreateGerberFiles()
     fn = m_parent->GetBoard()->GetFileName();
     fn.SetPath( outputDir.GetPath() );
 
-    // Create the the Front and Top side placement files. Gerber P&P files are always separated.
+    // Create the Front and Top side placement files. Gerber P&P files are always separated.
     // Not also they include all footprints
     PLACEFILE_GERBER_WRITER exporter( brd );
     wxString filename = exporter.GetPlaceFileName( fn.GetFullPath(), F_Cu );
@@ -356,7 +356,7 @@ bool DIALOG_GEN_FOOTPRINT_POSITION::CreateAsciiFiles()
     fn = m_parent->GetBoard()->GetFileName();
     fn.SetPath( outputDir.GetPath() );
 
-    // Create the the Front or Top side placement file, or a single file
+    // Create the Front or Top side placement file, or a single file
     top_side = true;
     bottom_side = false;
 
diff --git a/pcbnew/exporters/gendrill_Excellon_writer.cpp b/pcbnew/exporters/gendrill_Excellon_writer.cpp
index 54af955c48..f777116cd5 100644
--- a/pcbnew/exporters/gendrill_Excellon_writer.cpp
+++ b/pcbnew/exporters/gendrill_Excellon_writer.cpp
@@ -55,7 +55,7 @@
 // a linear routing command (G01) is perhaps more usual for drill files
 //
 // set m_useRouteModeForOval to false to use a canned slot hole (old way)
-// set m_useRouteModeForOval to true (prefered mode) to use a linear routed hole (new way)
+// set m_useRouteModeForOval to true (preferred mode) to use a linear routed hole (new way)
 
 EXCELLON_WRITER::EXCELLON_WRITER( BOARD* aPcb )
     : GENDRILL_WRITER_BASE( aPcb )
diff --git a/pcbnew/exporters/gendrill_gerber_writer.cpp b/pcbnew/exporters/gendrill_gerber_writer.cpp
index 18c13a268d..cadb95856b 100644
--- a/pcbnew/exporters/gendrill_gerber_writer.cpp
+++ b/pcbnew/exporters/gendrill_gerber_writer.cpp
@@ -211,7 +211,7 @@ int GERBER_WRITER::createDrillFile( wxString& aFullFilename, bool aIsNpth,
                     gbr_metadata.SetApertureAttrib( GBR_APERTURE_METADATA::GBR_APERTURE_ATTRIB_CMP_DRILL );
             }
 
-            // Add object attribute: component reference to pads (mainly usefull for users)
+            // Add object attribute: component reference to pads (mainly useful for users)
             wxString ref = pad->GetParent()->GetReference();
 
             gbr_metadata.SetCmpReference( ref );
@@ -285,7 +285,7 @@ void GERBER_WRITER::SetFormat( int aRightDigits )
     /* Set conversion scale depending on drill file units */
     m_conversionUnits = 1.0 / IU_PER_MM;        // Gerber units = mm
 
-    // Set precison (unit is mm).
+    // Set precision (unit is mm).
     m_precision.m_Lhs = 4;
     m_precision.m_Rhs = aRightDigits == 6 ? 6 : 5;
 }
diff --git a/pcbnew/exporters/gerber_jobfile_writer.cpp b/pcbnew/exporters/gerber_jobfile_writer.cpp
index 89189419e7..89e38a7486 100644
--- a/pcbnew/exporters/gerber_jobfile_writer.cpp
+++ b/pcbnew/exporters/gerber_jobfile_writer.cpp
@@ -266,7 +266,7 @@ void GERBER_JOBFILE_WRITER::addJSONGeneralSpecs()
     m_json["GeneralSpecs"]["ProjectId"]["GUID"] = guid;
     m_json["GeneralSpecs"]["ProjectId"]["Revision"] = rev.ToAscii();
 
-    // output the bord size in mm:
+    // output the board size in mm:
     EDA_RECT brect = m_pcb->GetBoardEdgesBoundingBox();
 
     m_json["GeneralSpecs"]["Size"]["X"] = mapValue( brect.GetWidth() );
diff --git a/pcbnew/exporters/gerber_jobfile_writer.h b/pcbnew/exporters/gerber_jobfile_writer.h
index 45d4e82631..d51126a3cd 100644
--- a/pcbnew/exporters/gerber_jobfile_writer.h
+++ b/pcbnew/exporters/gerber_jobfile_writer.h
@@ -46,7 +46,7 @@ class BOARD;
 
 /**
  * JOBFILE_PARAMS store the list of parameters written in Gerber job file
- * especialy list of .gbr filenames and the corresponding layer id belonging the job
+ * especially list of .gbr filenames and the corresponding layer id belonging the job
  */
 class JOBFILE_PARAMS
 {
diff --git a/pcbnew/exporters/gerber_placefile_writer.cpp b/pcbnew/exporters/gerber_placefile_writer.cpp
index 34b70130e0..b04bed59ca 100644
--- a/pcbnew/exporters/gerber_placefile_writer.cpp
+++ b/pcbnew/exporters/gerber_placefile_writer.cpp
@@ -129,7 +129,7 @@ int PLACEFILE_GERBER_WRITER::CreatePlaceFile( wxString& aFullFilename, PCB_LAYER
         GBR_METADATA gbr_metadata;
         gbr_metadata.SetApertureAttrib( GBR_APERTURE_METADATA::GBR_APERTURE_ATTRIB_CMP_POSITION );
 
-        // Add object attribute: component reference to flash (mainly usefull for users)
+        // Add object attribute: component reference to flash (mainly useful for users)
         // using quoted UTF8 string
         wxString ref = ConvertNotAllowedCharsInGerber( footprint->Reference().GetShownText(),
                                                        allowUtf8, true );
@@ -329,7 +329,7 @@ void PLACEFILE_GERBER_WRITER::findPads1( std::vector<PAD*>& aPadList, FOOTPRINT*
 {
     // Fint the pad "1" or pad "A1"
     // this is possible only if only one pad is found
-    // Usefull to place a marker in this position
+    // useful to place a marker in this position
 
     for( PAD* pad : aFootprint->Pads() )
     {
diff --git a/pcbnew/footprint.cpp b/pcbnew/footprint.cpp
index 974ec26fc0..cec8bb4bf4 100644
--- a/pcbnew/footprint.cpp
+++ b/pcbnew/footprint.cpp
@@ -1380,7 +1380,7 @@ void FOOTPRINT::Flip( const wxPoint& aCentre, bool aFlipLeftRight )
     // footprint from library.
     // When flipped around the X axis (Y coordinates changed) orientation is negated
     // When flipped around the Y axis (X coordinates changed) orientation is 180 - old orient.
-    // Because it is specfic to a footprint, we flip around the X axis, and after rotate 180 deg
+    // Because it is specific to a footprint, we flip around the X axis, and after rotate 180 deg
 
     MIRROR( finalPos.y, aCentre.y );     /// Mirror the Y position (around the X axis)
 
diff --git a/pcbnew/footprint_edit_frame.cpp b/pcbnew/footprint_edit_frame.cpp
index 61d3746600..77a0644399 100644
--- a/pcbnew/footprint_edit_frame.cpp
+++ b/pcbnew/footprint_edit_frame.cpp
@@ -338,7 +338,7 @@ void FOOTPRINT_EDIT_FRAME::SwitchCanvas( EDA_DRAW_PANEL_GAL::GAL_TYPE aCanvasTyp
 
     GetCanvas()->GetGAL()->SetAxesEnabled( true );
 
-    // The base class method *does not reinit* the layers manager. We must upate the layer
+    // The base class method *does not reinit* the layers manager. We must update the layer
     // widget to match board visibility states, both layers and render columns, and and some
     // settings dependent on the canvas.
     UpdateUserInterface();
@@ -644,7 +644,7 @@ void FOOTPRINT_EDIT_FRAME::doCloseWindow()
 
     // Do not show the layer manager during closing to avoid flicker
     // on some platforms (Windows) that generate useless redraw of items in
-    // the Layer Manger
+    // the Layer Manager
     m_auimgr.GetPane( "LayersManager" ).Show( false );
     m_auimgr.GetPane( "SelectionFilter" ).Show( false );
 
diff --git a/pcbnew/footprint_info_impl.cpp b/pcbnew/footprint_info_impl.cpp
index fc7247682f..aa6907ccc4 100644
--- a/pcbnew/footprint_info_impl.cpp
+++ b/pcbnew/footprint_info_impl.cpp
@@ -370,7 +370,7 @@ void FOOTPRINT_LIST_IMPL::WriteCacheToFile( const wxString& aFilePath )
 
     if( !wxRenameFile( tmpFileName.GetFullPath(), aFilePath, true ) )
     {
-        // cleanup incase rename failed
+        // cleanup in case rename failed
         // its also not the end of the world since this is just a cache file
         wxRemoveFile( tmpFileName.GetFullPath() );
     }
diff --git a/pcbnew/footprint_wizard_frame.cpp b/pcbnew/footprint_wizard_frame.cpp
index 94cbede0da..b1d8150d0f 100644
--- a/pcbnew/footprint_wizard_frame.cpp
+++ b/pcbnew/footprint_wizard_frame.cpp
@@ -230,7 +230,7 @@ FOOTPRINT_WIZARD_FRAME::~FOOTPRINT_WIZARD_FRAME()
     // Be sure any event cannot be fired after frame deletion:
     GetCanvas()->SetEvtHandlerEnabled( false );
 
-    // Be sure a active tool (if exists) is desactivated:
+    // Be sure a active tool (if exists) is deactivated:
     if( m_toolManager )
         m_toolManager->DeactivateTool();
 
diff --git a/pcbnew/import_gfx/dxf_import_plugin.cpp b/pcbnew/import_gfx/dxf_import_plugin.cpp
index c1a93e961f..50d67c0956 100644
--- a/pcbnew/import_gfx/dxf_import_plugin.cpp
+++ b/pcbnew/import_gfx/dxf_import_plugin.cpp
@@ -66,9 +66,9 @@
         - Hatch
         - Image
         - Text
- *   5. Object coordinates must be run through the arbtirary axis
+ *   5. Object coordinates must be run through the arbitrary axis
  *      translation even though they are 2D drawings and most of the time
- *      the import is fine. Sometimes, agaisnt all logic, CAD tools like
+ *      the import is fine. Sometimes, against all logic, CAD tools like
  *      SolidWorks may randomly insert circles "mirror" that must be unflipped
  *      by following the object to world conversion
  *    6. Blocks are virtual groups, blocks must be placed by a INSERT entity
diff --git a/pcbnew/kicad_clipboard.cpp b/pcbnew/kicad_clipboard.cpp
index 6b3ec50bdf..437ce959eb 100644
--- a/pcbnew/kicad_clipboard.cpp
+++ b/pcbnew/kicad_clipboard.cpp
@@ -96,7 +96,7 @@ void CLIPBOARD_IO::SaveSelection( const PCB_SELECTION& aSelected, bool isFootpri
     {
         FOOTPRINT partialFootprint( m_board );
 
-        // Usefull to copy the selection to the board editor (if any), and provides
+        // Useful to copy the selection to the board editor (if any), and provides
         // a dummy lib id.
         // Perhaps not a good Id, but better than a empty id
         KIID dummy;
diff --git a/pcbnew/load_select_footprint.cpp b/pcbnew/load_select_footprint.cpp
index 68be0654d0..844b9c0cbf 100644
--- a/pcbnew/load_select_footprint.cpp
+++ b/pcbnew/load_select_footprint.cpp
@@ -135,7 +135,7 @@ bool FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard( FOOTPRINT* aFootprint )
 
     // Clear references to any net info, because the footprint editor does know any thing about
     // nets handled by the current edited board.
-    // Morever we do not want to save any reference to an unknown net when saving the footprint
+    // Moreover we do not want to save any reference to an unknown net when saving the footprint
     // in lib cache so we force the ORPHANED dummy net info for all pads.
     newFootprint->ClearAllNets();
 
diff --git a/pcbnew/pcb_edit_frame.cpp b/pcbnew/pcb_edit_frame.cpp
index d186323d5a..1e664e9838 100644
--- a/pcbnew/pcb_edit_frame.cpp
+++ b/pcbnew/pcb_edit_frame.cpp
@@ -882,7 +882,7 @@ void PCB_EDIT_FRAME::doCloseWindow()
 
     // Do not show the layer manager during closing to avoid flicker
     // on some platforms (Windows) that generate useless redraw of items in
-    // the Layer Manger
+    // the Layer Manager
     if( m_show_layer_manager_tools )
         m_auimgr.GetPane( "LayersManager" ).Show( false );
 
diff --git a/pcbnew/pcb_painter.cpp b/pcbnew/pcb_painter.cpp
index 4e6b79b64e..83d1388a81 100644
--- a/pcbnew/pcb_painter.cpp
+++ b/pcbnew/pcb_painter.cpp
@@ -94,7 +94,7 @@ void PCB_RENDER_SETTINGS::LoadColors( const COLOR_SETTINGS* aSettings )
     {
         m_layerColors[i] = aSettings->GetColor( i );
 
-        // Guard: if the alpah channel is too small, the layer is not visible.
+        // Guard: if the alpha channel is too small, the layer is not visible.
         if( m_layerColors[i].a < 0.2 )
             m_layerColors[i].a = 0.2;
     }
@@ -1389,8 +1389,8 @@ void PCB_PAINTER::draw( const PCB_SHAPE* aShape, int aLayer )
             {
                 // On Opengl, a not convex filled polygon is usually drawn by using triangles
                 // as primitives. CacheTriangulation() can create basic triangle primitives to
-                // draw the polygon solid shape on Opengl.  GLU tesselation is much slower, so
-                // currently we are using our tesselation.
+                // draw the polygon solid shape on Opengl.  GLU tessellation is much slower, so
+                // currently we are using our tessellation.
                 if( m_gal->IsOpenGlEngine() && !shape.IsTriangulationUpToDate() )
                     shape.CacheTriangulation();
 
diff --git a/pcbnew/pcbnew.cpp b/pcbnew/pcbnew.cpp
index c7275c051a..1944e1f6b4 100644
--- a/pcbnew/pcbnew.cpp
+++ b/pcbnew/pcbnew.cpp
@@ -117,7 +117,7 @@ static struct IFACE : public KIFACE_I
             DIALOG_CONFIGURE_PATHS dlg( aParent, aKiway->Prj().Get3DFilenameResolver() );
 
             // The dialog's constructor probably failed to set its Kiway because the
-            // dynamic_cast fails when aParent was allocated by a separate compiliation
+            // dynamic_cast fails when aParent was allocated by a separate compilation
             // module.  So set it directly.
             dlg.SetKiway( &dlg, aKiway );
 
@@ -323,7 +323,7 @@ void IFACE::SaveFileAs( const wxString& aProjectBasePath, const wxString& aSrcPr
     }
     else if( ext == "rpt" )
     {
-        // DRC must be the "gold standard".  Since we can't gaurantee that there aren't
+        // DRC must be the "gold standard".  Since we can't guarantee that there aren't
         // any non-deterministic cases in the save-as algorithm, we don't want to certify
         // the result with the source's DRC report.  Therefore copy it under the old
         // name.
diff --git a/pcbnew/pcbplot.cpp b/pcbnew/pcbplot.cpp
index 780592be68..fd5d8b8dea 100644
--- a/pcbnew/pcbplot.cpp
+++ b/pcbnew/pcbplot.cpp
@@ -334,7 +334,7 @@ void AddGerberX2Header( PLOTTER* aPlotter, const BOARD* aBoard, bool aUseX1Compa
     // plot origin and use the same registration
     //
     // Currently the key is "Original" when using absolute Pcbnew coordinates,
-    // and te PY ans PY position od auxiliary axis, when using it.
+    // and the PY and PY position of auxiliary axis, when using it.
     // Please, if absolute Pcbnew coordinates, one day, are set by user, change the way
     // the key is built to ensure file only using the *same* axis have the same key.
     wxString registration_id = "Original";
diff --git a/pcbnew/plot_brditems_plotter.cpp b/pcbnew/plot_brditems_plotter.cpp
index 26d6fdcda1..d301bb6a9f 100644
--- a/pcbnew/plot_brditems_plotter.cpp
+++ b/pcbnew/plot_brditems_plotter.cpp
@@ -291,7 +291,7 @@ void BRDITEMS_PLOTTER::PlotFootprintTextItems( const FOOTPRINT* aFootprint )
     const FP_TEXT* textItem = &aFootprint->Reference();
     LAYER_NUM textLayer = textItem->GetLayer();
 
-    // Reference and value are specfic items, not in graphic items list
+    // Reference and value are specific items, not in graphic items list
     if( GetPlotReference() && m_layerMask[textLayer]
         && ( textItem->IsVisible() || GetPlotInvisibleText() ) )
     {
diff --git a/pcbnew/plugins/altium/altium_parser_pcb.cpp b/pcbnew/plugins/altium/altium_parser_pcb.cpp
index e073a17e2a..d48429a8d6 100644
--- a/pcbnew/plugins/altium/altium_parser_pcb.cpp
+++ b/pcbnew/plugins/altium/altium_parser_pcb.cpp
@@ -482,7 +482,7 @@ APOLYGON6::APOLYGON6( ALTIUM_PARSER& aReader )
 
 ARULE6::ARULE6( ALTIUM_PARSER& aReader )
 {
-    // Initalize all variables and make Coverity happy
+    // Initialize all variables and make Coverity happy
     clearanceGap                       = 0;
     planeclearanceClearance            = 0;
     polygonconnectAirgapwidth          = 0;
diff --git a/pcbnew/plugins/altium/altium_pcb.cpp b/pcbnew/plugins/altium/altium_pcb.cpp
index ba06489e8f..f68e5e8109 100644
--- a/pcbnew/plugins/altium/altium_pcb.cpp
+++ b/pcbnew/plugins/altium/altium_pcb.cpp
@@ -935,7 +935,7 @@ void ALTIUM_PCB::HelperParseDimensions6Linear( const ADIMENSION6& aElem )
     {
         /**
          * Basically REFERENCE0POINT and REFERENCE1POINT are the two end points of the dimension.
-         * XY1 is the position of the arrow above REFERENCE0POINT. those three points are not necesarily
+         * XY1 is the position of the arrow above REFERENCE0POINT. those three points are not necessarily
          * in 90degree angle, but KiCad requires this to show the correct measurements.
          *
          * Therefore, we take the vector of REFERENCE0POINT -> XY1, calculate the normal, and intersect it with
@@ -1563,7 +1563,7 @@ void ALTIUM_PCB::ParseRegions6Data( const CFB::CompoundFileReader& aReader,
             PCB_LAYER_ID klayer = GetKicadLayer( elem.layer );
             if( klayer == UNDEFINED_LAYER )
             {
-                continue; // Just skip it for now. Users cann fill it themself.
+                continue; // Just skip it for now. Users can fill it themselves.
             }
 
             SHAPE_LINE_CHAIN linechain;
diff --git a/pcbnew/plugins/cadstar/cadstar_pcb_archive_loader.cpp b/pcbnew/plugins/cadstar/cadstar_pcb_archive_loader.cpp
index a760ef1cee..2121f8f273 100644
--- a/pcbnew/plugins/cadstar/cadstar_pcb_archive_loader.cpp
+++ b/pcbnew/plugins/cadstar/cadstar_pcb_archive_loader.cpp
@@ -2333,7 +2333,7 @@ void CADSTAR_PCB_ARCHIVE_LOADER::loadNetTracks( const NET_ID&         aCadstarNe
     std::vector<PCB_SHAPE*> shapes;
     std::vector<NET_PCB::ROUTE_VERTEX> routeVertices = aCadstarRoute.RouteVertices;
 
-    // Add thin route at front so that route offseting works as expected
+    // Add thin route at front so that route offsetting works as expected
     if( aStartWidth < routeVertices.front().RouteWidth )
     {
         NET_PCB::ROUTE_VERTEX newFrontVertex = aCadstarRoute.RouteVertices.front();
@@ -2514,7 +2514,7 @@ void CADSTAR_PCB_ARCHIVE_LOADER::drawCadstarText( const TEXT& aCadstarText,
         break;
 
     default:
-        wxFAIL_MSG( "Unknown Aligment - needs review!" );
+        wxFAIL_MSG( "Unknown Alignment - needs review!" );
     }
 
     if( aMirrorInvert )
@@ -3055,7 +3055,7 @@ std::vector<TRACK*> CADSTAR_PCB_ARCHIVE_LOADER::makeTracksFromDrawsegments(
             }
             else if( offsetAmount < 0 )
             {
-                // ammend the end of the previous track
+                // amend the end of the previous track
                 wxPoint newEnd = prevTrack->GetEnd();
                 applyRouteOffset( &newEnd, prevTrack->GetStart(), -offsetAmount );
                 prevTrack->SetEnd( newEnd );
@@ -3063,7 +3063,7 @@ std::vector<TRACK*> CADSTAR_PCB_ARCHIVE_LOADER::makeTracksFromDrawsegments(
 
             // Add a synthetic track of the thinnest width between the tracks
             // to ensure KiCad features works as expected on the imported design
-            // (KiCad expects tracks are contigous segments)
+            // (KiCad expects tracks are contiguous segments)
             if( track->GetStart() != prevTrack->GetEnd() )
             {
                 int    minWidth = std::min( track->GetWidth(), prevTrack->GetWidth() );
@@ -3220,7 +3220,7 @@ void CADSTAR_PCB_ARCHIVE_LOADER::addAttribute( const ATTRIBUTE_LOCATION& aCadsta
         break;
 
     default:
-        wxFAIL_MSG( "Unknown Aligment - needs review!" );
+        wxFAIL_MSG( "Unknown Alignment - needs review!" );
     }
 
     //TODO Handle different font types when KiCad can support it.
@@ -3532,7 +3532,7 @@ void CADSTAR_PCB_ARCHIVE_LOADER::applyDimensionSettings( const DIMENSION&  aCads
     case UNITS::CENTIMETER:
     case UNITS::MICROMETRE:
         wxLogWarning( wxString::Format( _( "Dimension ID %s uses a type of unit that "
-                                           "is not supported in KiCad. Milimetres were "
+                                           "is not supported in KiCad. Millimetres were "
                                            "applied instead." ),
                                         aCadstarDim.ID ) );
         KI_FALLTHROUGH;
diff --git a/pcbnew/plugins/cadstar/cadstar_pcb_archive_parser.h b/pcbnew/plugins/cadstar/cadstar_pcb_archive_parser.h
index 0afb7ac72e..714e615f7a 100644
--- a/pcbnew/plugins/cadstar/cadstar_pcb_archive_parser.h
+++ b/pcbnew/plugins/cadstar/cadstar_pcb_archive_parser.h
@@ -250,7 +250,7 @@ public:
          */
         SPACINGCODE_ID        ID;
         long                  Spacing;
-        std::vector<REASSIGN> Reassigns; ///< Can have different spacings on differnt layers
+        std::vector<REASSIGN> Reassigns; ///< Can have different spacings on different layers
 
         void Parse( XNODE* aNode, PARSER_CONTEXT* aContext ) override;
     };
diff --git a/pcbnew/plugins/geda/gpcb_plugin.cpp b/pcbnew/plugins/geda/gpcb_plugin.cpp
index 0e5c56b5c3..baa226e7c7 100644
--- a/pcbnew/plugins/geda/gpcb_plugin.cpp
+++ b/pcbnew/plugins/geda/gpcb_plugin.cpp
@@ -60,13 +60,13 @@ static inline long parseInt( const wxString& aValue, double aScalar )
      *
      * Distinction between the even older format (mils, 1000 units per inch)
      * and the pre-2011 format is done in ::parseFOOTPRINT already; the
-     * distinction is by wether an object definition opens with '(' or '['.
-     * All values with explicite unit open with a '[' so there's no need to
+     * distinction is by whether an object definition opens with '(' or '['.
+     * All values with explicit unit open with a '[' so there's no need to
      * consider this distinction when parsing them.
      *
      * The solution here is to watch for a unit and, if present, convert the
      * value to centimils. All unit-less values are read unaltered. This way
-     * the code below can contine to consider all read values to be in mils or
+     * the code below can continue to consider all read values to be in mils or
      * centimils. It also matches the strategy gEDA/pcb uses for backwards
      * compatibility with its own layouts.
      *
@@ -108,7 +108,7 @@ static inline long parseInt( const wxString& aValue, double aScalar )
  */
 class GPCB_FPL_CACHE_ITEM
 {
-    WX_FILENAME m_filename; ///< The the full file name and path of the footprint to cache.
+    WX_FILENAME m_filename; ///< The full file name and path of the footprint to cache.
     std::unique_ptr<FOOTPRINT> m_footprint;
 
 public:
diff --git a/pcbnew/plugins/legacy/legacy_plugin.cpp b/pcbnew/plugins/legacy/legacy_plugin.cpp
index 2627fc9ffe..e07b5169e6 100644
--- a/pcbnew/plugins/legacy/legacy_plugin.cpp
+++ b/pcbnew/plugins/legacy/legacy_plugin.cpp
@@ -1783,7 +1783,7 @@ void LEGACY_PLUGIN::loadMODULE_TEXT( FP_TEXT* aText )
     BIU     thickn  = biuParse( data, &data );
 
     // read the quoted text before the first call to strtok() which introduces
-    // NULs into the string and chops it into mutliple C strings, something
+    // NULs into the string and chops it into multiple C strings, something
     // ReadDelimitedText() cannot traverse.
 
     // convert the "quoted, escaped, UTF8, text" to a wxString, find it by skipping
diff --git a/pcbnew/plugins/pcad/pcb.cpp b/pcbnew/plugins/pcad/pcb.cpp
index 7f6b1b8059..482bb882ad 100644
--- a/pcbnew/plugins/pcad/pcb.cpp
+++ b/pcbnew/plugins/pcad/pcb.cpp
@@ -214,7 +214,7 @@ void PCB::SetTextProperty( XNODE*   aNode, TTEXTVALUE* aTextValue,
         }
     }
 
-    // old version and compatibile fr both from this point
+    // old version and compatible for both from this point
     tNode = FindNode( t1Node, wxT( "attr" ) );
 
     while( tNode )
@@ -681,7 +681,7 @@ void PCB::ParseBoard( wxStatusBar* aStatusBar, wxXmlDocument* aXmlDoc, const wxS
     wxString        compRef, pinRef, layerName, layerType;
     int             i, j, netCode;
 
-    // Defaut measurement units
+    // Default measurement units
     aNode = FindNode( (XNODE *)aXmlDoc->GetRoot(), wxT( "asciiHeader" ) );
 
     if( aNode )
diff --git a/pcbnew/plugins/pcad/pcb_footprint.cpp b/pcbnew/plugins/pcad/pcb_footprint.cpp
index 04f894f42f..5f1c90767f 100644
--- a/pcbnew/plugins/pcad/pcb_footprint.cpp
+++ b/pcbnew/plugins/pcad/pcb_footprint.cpp
@@ -177,7 +177,7 @@ XNODE* PCB_FOOTPRINT::FindPatternMultilayerSection( XNODE* aNode, wxString* aPat
         else if( pNode )
             lNode = FindNode( pNode, wxT( "patternGraphicsDef" ) );
 
-        if( *aPatGraphRefName == wxEmptyString )    // no patern delection, the first is actual...
+        if( *aPatGraphRefName == wxEmptyString )    // no pattern detection, the first is actual...
         {
             if( lNode )
             {
diff --git a/pcbnew/plugins/pcad/pcb_pad_shape.cpp b/pcbnew/plugins/pcad/pcb_pad_shape.cpp
index 636849ea8c..55f3e73d68 100644
--- a/pcbnew/plugins/pcad/pcb_pad_shape.cpp
+++ b/pcbnew/plugins/pcad/pcb_pad_shape.cpp
@@ -94,7 +94,7 @@ void PCB_PAD_SHAPE::Parse( XNODE*          aNode,
     }
     else if( m_Shape == wxT( "Polygon" ) )
     {
-        // aproximation to simplier pad shape .....
+        // approximation to simpler pad shape .....
         lNode = FindNode( aNode, wxT( "shapeOutline" ) );
 
         if( lNode )
diff --git a/pcbnew/python/plugins/FPC_wizard.py b/pcbnew/python/plugins/FPC_wizard.py
index e3de5c6e83..9019aec25e 100644
--- a/pcbnew/python/plugins/FPC_wizard.py
+++ b/pcbnew/python/plugins/FPC_wizard.py
@@ -118,7 +118,7 @@ class FPC_FootprintWizard(FootprintWizardBase.FootprintWizard):
         max_y = max( max_y, posy )
         self.draw.Line(xstart, posy, xend, posy)
 
-        # around left mechanical pad (the outline around right pad is mirrored/y axix)
+        # around left mechanical pad (the outline around right pad is mirrored/y axis)
         yend = pad_s0_pos.y + shl_height/2 + margin
         max_y = max( max_y, yend )
         self.draw.Line(xstart, posy, xstart, yend)
diff --git a/pcbnew/python/plugins/FootprintWizardBase.py b/pcbnew/python/plugins/FootprintWizardBase.py
index dfbc67f331..bd6a3c3275 100644
--- a/pcbnew/python/plugins/FootprintWizardBase.py
+++ b/pcbnew/python/plugins/FootprintWizardBase.py
@@ -334,8 +334,8 @@ class FootprintWizardDrawingAids:
         This is performed by a translate-to-origin, flip, translate-
         back sequence.
 
-        @param x: the x co-ordinate of the flip point
-        @param y: the y co-ordinate of the flip point
+        @param x: the x coordinate of the flip point
+        @param y: the y coordinate of the flip point
         @param flip: one of flipNone, flipX, flipY, flipBoth
         @param push: add this transform to the current stack
         @return the generated transform matrix
@@ -379,8 +379,8 @@ class FootprintWizardDrawingAids:
         This is performed by a translate-to-origin, rotate, translate-
         back sequence
 
-        @param x: the x co-ordinate of the rotation centre
-        @param y: the y co-ordinate of the rotation centre
+        @param x: the x coordinate of the rotation centre
+        @param y: the y coordinate of the rotation centre
         @param rot: the rotation angle in degrees
         @param push: add this transform to the current stack
         @return the generated transform matrix
@@ -425,8 +425,8 @@ class FootprintWizardDrawingAids:
         Return a point (x, y) transformed by the given matrix, or if
         that is not given, the drawing context transform
 
-        @param x: the x co-ordinate of the point to transform
-        @param y: the y co-ordinate of the point to transform
+        @param x: the x coordinate of the point to transform
+        @param y: the y coordinate of the point to transform
         @param mat: the transform matrix to use or None to use the current DC's
         @return: the transformed point as a wxPoint
         """
@@ -496,8 +496,8 @@ class FootprintWizardDrawingAids:
         If filled is true, the thickness and radius of the line will be set
         such that the circle appears filled
 
-        @param x: the x co-ordinate of the arc centre
-        @param y: the y co-ordinate of the arc centre
+        @param x: the x coordinate of the arc centre
+        @param y: the y coordinate of the arc centre
         @param r: the circle's radius
         @param filled: True to draw a filled circle, False to use the current
                        DC line thickness
@@ -527,10 +527,10 @@ class FootprintWizardDrawingAids:
         Note that this won't work properly if the result is not a
         circular arc (e.g. a horizontal scale)
 
-        @param cx: the x co-ordinate of the arc centre
-        @param cy: the y co-ordinate of the arc centre
-        @param sx: the x co-ordinate of the arc start point
-        @param sy: the y co-ordinate of the arc start point
+        @param cx: the x coordinate of the arc centre
+        @param cy: the y coordinate of the arc centre
+        @param sx: the x coordinate of the arc start point
+        @param sy: the y coordinate of the arc start point
         @param a: the arc's central angle (in deci-degrees)
         """
         circle = pcbnew.FP_SHAPE(self.module)
@@ -554,8 +554,8 @@ class FootprintWizardDrawingAids:
         """!
         Draw a horizontal line from (x,y), rightwards
 
-        @param x: line start x co-ordinate
-        @param y: line start y co-ordinate
+        @param x: line start x coordinate
+        @param y: line start y coordinate
         @param l: line length
         """
         self.Line(x, y, x + l, y)
@@ -564,8 +564,8 @@ class FootprintWizardDrawingAids:
         """!
         Draw a vertical line from (x1,y1), downwards
 
-        @param x: line start x co-ordinate
-        @param y: line start y co-ordinate
+        @param x: line start x coordinate
+        @param y: line start y coordinate
         @param l: line length
         """
         self.Line(x, y, x, y + l)
@@ -575,8 +575,8 @@ class FootprintWizardDrawingAids:
         Draw a polyline, optionally mirroring around the given points
 
         @param pts: list of polyline vertices (list of (x, y))
-        @param mirrorX: x co-ordinate of mirror point (None for no x-flip)
-        @param mirrorY: y co-ordinate of mirror point (None for no y-flip)
+        @param mirrorX: x coordinate of mirror point (None for no x-flip)
+        @param mirrorY: y coordinate of mirror point (None for no y-flip)
         """
 
         def _PolyLineInternal(pts):
@@ -648,8 +648,8 @@ class FootprintWizardDrawingAids:
         Draw a rectangular box, centred at (x,y), with given width and
         height
 
-        @param x: the x co-ordinate of the box's centre
-        @param y: the y co-ordinate of the box's centre
+        @param x: the x coordinate of the box's centre
+        @param y: the y coordinate of the box's centre
         @param w: the width of the box
         @param h: the height of the box
         """
@@ -668,8 +668,8 @@ class FootprintWizardDrawingAids:
         at the top
         Notch height is measured from the top of the circle radius
 
-        @param x: the x co-ordinate of the circle's centre
-        @param y: the y co-ordinate of the circle's centre
+        @param x: the x coordinate of the circle's centre
+        @param y: the y coordinate of the circle's centre
         @param r: the radius of the circle
         @param notch_w: the width of the notch
         @param notch_h: the height of the notch
@@ -702,8 +702,8 @@ class FootprintWizardDrawingAids:
         """!
         Draw a box with a notch in the centre of the top edge
 
-        @param x: the x co-ordinate of the circle's centre
-        @param y: the y co-ordinate of the circle's centre
+        @param x: the x coordinate of the circle's centre
+        @param y: the y coordinate of the circle's centre
         @param w: the width of the box
         @param h: the height of the box
         @param notchW: the width of the notch
@@ -737,8 +737,8 @@ class FootprintWizardDrawingAids:
         """!
         Draw a box with a diagonal at the top left corner.
 
-        @param x: the x co-ordinate of the circle's centre
-        @param y: the y co-ordinate of the circle's centre
+        @param x: the x coordinate of the circle's centre
+        @param y: the y coordinate of the circle's centre
         @param w: the width of the box
         @param h: the height of the box
         @param setback: the set-back of the diagonal, in both x and y
@@ -764,8 +764,8 @@ class FootprintWizardDrawingAids:
         """!
         Draw a box with an opening at the top left corner
 
-        @param x: the x co-ordinate of the circle's centre
-        @param y: the y co-ordinate of the circle's centre
+        @param x: the x coordinate of the circle's centre
+        @param y: the y coordinate of the circle's centre
         @param w: the width of the box
         @param h: the height of the box
         @param setback: the set-back of the opening, in both x and y
@@ -790,8 +790,8 @@ class FootprintWizardDrawingAids:
         """!
         Draw a box with rounded corners (i.e. a 90-degree circular arc)
 
-        :param x: the x co-ordinate of the box's centre
-        :param y: the y co-ordinate of the box's centre
+        :param x: the x coordinate of the box's centre
+        :param y: the y coordinate of the box's centre
         :param w: the width of the box
         :param h: the height of the box
         :param rad: the radius of the corner rounds
@@ -825,8 +825,8 @@ class FootprintWizardDrawingAids:
         """!
         Draw a box with chamfered corners.
 
-        :param x: the x co-ordinate of the box's centre
-        :param y: the y co-ordinate of the box's centre
+        :param x: the x coordinate of the box's centre
+        :param y: the y coordinate of the box's centre
         :param w: the width of the box
         :param h: the height of the box
         :param chamfer_x: the size of the chamfer set-back in the x direction
@@ -836,7 +836,7 @@ class FootprintWizardDrawingAids:
         x_left = x - w / 2
         y_top = y - h / 2
 
-        # x and y co-ordinates of inner edges of chamfers
+        # x and y coordinates of inner edges of chamfers
         x_inner = x_left + chamfer_x
         y_inner = y_top + chamfer_y
 
diff --git a/pcbnew/python/plugins/qrcode_footprint_wizard.py b/pcbnew/python/plugins/qrcode_footprint_wizard.py
index 8f26b5a763..023d2f2b4f 100644
--- a/pcbnew/python/plugins/qrcode_footprint_wizard.py
+++ b/pcbnew/python/plugins/qrcode_footprint_wizard.py
@@ -20,7 +20,7 @@ import FootprintWizardBase
 
 # Additional import for QRCode
 # see https://github.com/kazuhikoarase/qrcode-generator/blob/master/python/qrcode.py
-import kicad_qrcode as qrcode  # TODO: local qrcode package is prefered, so we renamed it
+import kicad_qrcode as qrcode  # TODO: local qrcode package is preferred, so we renamed it
 
 class QRCodeWizard(FootprintWizardBase.FootprintWizard):
     GetName = lambda self: '2D Barcode QRCode'
diff --git a/pcbnew/python/plugins/uss39_barcode.py b/pcbnew/python/plugins/uss39_barcode.py
index ed8d357016..b38e236f93 100644
--- a/pcbnew/python/plugins/uss39_barcode.py
+++ b/pcbnew/python/plugins/uss39_barcode.py
@@ -46,7 +46,7 @@ class Uss39:
 
      def getBarCodePattern(self, text = None):
         text = text if not(text is None) else self.Text
-        # Reformated text with start and end characters
+        # Reformatted text with start and end characters
         return functools.reduce(lambda a1, a2: list(a1) + [0] + list(a2), [map(int, ptd[c]) for c in ("*%s*" % self.makePrintable(text))])
 
 class Uss39Wizard(FootprintWizardBase.FootprintWizard):
diff --git a/pcbnew/python/scripting/pcbnew_footprint_wizards.cpp b/pcbnew/python/scripting/pcbnew_footprint_wizards.cpp
index 11f388f150..f825f6b4c1 100644
--- a/pcbnew/python/scripting/pcbnew_footprint_wizards.cpp
+++ b/pcbnew/python/scripting/pcbnew_footprint_wizards.cpp
@@ -377,6 +377,6 @@ void PYTHON_FOOTPRINT_WIZARD_LIST::register_wizard( PyObject* aPyWizard )
 
 void PYTHON_FOOTPRINT_WIZARD_LIST::deregister_wizard( PyObject* aPyWizard )
 {
-    // deregister also destroyes the previously created "PYTHON_FOOTPRINT_WIZARD object"
+    // deregister also destroys the previously created "PYTHON_FOOTPRINT_WIZARD object"
     FOOTPRINT_WIZARD_LIST::deregister_object( (void*) aPyWizard );
 }
diff --git a/pcbnew/python/swig/board_item.i b/pcbnew/python/swig/board_item.i
index 44407baff0..3acafca17c 100644
--- a/pcbnew/python/swig/board_item.i
+++ b/pcbnew/python/swig/board_item.i
@@ -31,7 +31,7 @@
 
 %include board_item.h         // generate code for this interface
 
-/* Only for compatibility with old python scipts: */
+/* Only for compatibility with old python scripts: */
 const int S_SEGMENT = (const int)PCB_SHAPE_TYPE::SEGMENT;
 const int S_RECT = (const int)PCB_SHAPE_TYPE::RECT;
 const int S_ARC = (const int)PCB_SHAPE_TYPE::ARC;
@@ -43,7 +43,7 @@ const int S_CURVE = (const int)PCB_SHAPE_TYPE::CURVE;
 
 %{
 #include <board_item.h>
-/* for compatibility with old python scipts: */
+/* for compatibility with old python scripts: */
 const int S_SEGMENT = (const int)PCB_SHAPE_TYPE::SEGMENT;
 const int S_RECT = (const int)PCB_SHAPE_TYPE::RECT;
 const int S_ARC = (const int)PCB_SHAPE_TYPE::ARC;
@@ -81,7 +81,7 @@ class ZONE;
 class FP_ZONE;
 class PCB_TARGET;
 
-// Anthing targeted to the %wrapper section is extern "C" whereas code targeted
+// Anything targeted to the %wrapper section is extern "C" whereas code targeted
 // to %header section is C++.
 #ifdef __cplusplus
 extern "C" {
diff --git a/pcbnew/python/swig/zone.i b/pcbnew/python/swig/zone.i
index f90356a50a..9eed295ec5 100644
--- a/pcbnew/python/swig/zone.i
+++ b/pcbnew/python/swig/zone.i
@@ -10,7 +10,7 @@
 #include <zone_filler.h>
 %}
 
-// Provide a compatiblity ctor for ZONE_FILLER that doesn't need a COMMIT
+// Provide a compatibility ctor for ZONE_FILLER that doesn't need a COMMIT
 %include zone_filler.h
 %extend ZONE_FILLER
 {
diff --git a/pcbnew/router/pns_debug_decorator.h b/pcbnew/router/pns_debug_decorator.h
index 1f70d905a8..00825c0571 100644
--- a/pcbnew/router/pns_debug_decorator.h
+++ b/pcbnew/router/pns_debug_decorator.h
@@ -80,7 +80,7 @@ private:
     bool m_debugEnabled;
 };
 
-/* WARNING! The marco below is a remarkably ugly hack, intented to log the
+/* WARNING! The marco below is a remarkably ugly hack, intended to log the
    call location of the debug calls without having to create the SRC_LOCATION_INFOs every time
    DEBUG_DECORATOR::Something() is called.
 
diff --git a/pcbnew/router/pns_diff_pair.h b/pcbnew/router/pns_diff_pair.h
index b9e3666cb0..b4d56e6c1c 100644
--- a/pcbnew/router/pns_diff_pair.h
+++ b/pcbnew/router/pns_diff_pair.h
@@ -188,7 +188,7 @@ class DP_GATEWAYS
             m_gap( aGap ),
             m_viaGap( aGap )
         {
-            // Do not leave unitialized members, and keep static analyser quiet:
+            // Do not leave uninitialized members, and keep static analyser quiet:
             m_viaDiameter = 0;
             m_fitVias = true;
         }
@@ -341,7 +341,7 @@ public:
         m_p = aLineP.CLine();
         m_n = aLineN.CLine();
 
-        // Do not leave unitialized members, and keep static analyser quiet:
+        // Do not leave uninitialized members, and keep static analyser quiet:
         m_width  = 0;
         m_gap  = 0;
         m_viaGap  = 0;
diff --git a/pcbnew/router/pns_dragger.cpp b/pcbnew/router/pns_dragger.cpp
index 217235576b..5e42b172e2 100644
--- a/pcbnew/router/pns_dragger.cpp
+++ b/pcbnew/router/pns_dragger.cpp
@@ -281,7 +281,7 @@ bool DRAGGER::dragMarkObstacles( const VECTOR2I& aP )
     case DM_SEGMENT:
     case DM_CORNER:
     {
-        //TODO: Make threshhold configurable
+        //TODO: Make threshold configurable
         int  thresh = Settings().SmoothDraggedSegments() ? m_draggedLine.Width() / 4 : 0;
         LINE origLine( m_draggedLine );
         LINE dragged( m_draggedLine );
@@ -599,7 +599,7 @@ bool DRAGGER::dragShove( const VECTOR2I& aP )
     case DM_SEGMENT:
     case DM_CORNER:
     {
-        //TODO: Make threshhold configurable
+        //TODO: Make threshold configurable
         int  thresh = Settings().SmoothDraggedSegments() ? m_draggedLine.Width() / 2 : 0;
         LINE dragged( m_draggedLine );
         dragged.SetSnapThreshhold( thresh );
diff --git a/pcbnew/router/pns_item.cpp b/pcbnew/router/pns_item.cpp
index 0142d083e3..7bae8cc154 100644
--- a/pcbnew/router/pns_item.cpp
+++ b/pcbnew/router/pns_item.cpp
@@ -100,7 +100,7 @@ bool ITEM::Collide( const ITEM* aOther, const NODE* aNode, bool aDifferentNetsOn
         return true;
 
     // Special cases for "head" lines with vias attached at the end.  Note that this does not
-    // support head-line-via to head-line-via collisions, but you can't route two independant
+    // support head-line-via to head-line-via collisions, but you can't route two independent
     // tracks at once so it shouldn't come up.
 
     if( m_kind == LINE_T )
diff --git a/pcbnew/router/pns_line_placer.h b/pcbnew/router/pns_line_placer.h
index 5b4ad15b02..fff48a41a6 100644
--- a/pcbnew/router/pns_line_placer.h
+++ b/pcbnew/router/pns_line_placer.h
@@ -245,7 +245,7 @@ private:
 
     /**
      * Assemble a line starting from segment or arc aLatest, removes collinear segments
-     * and redundant vertexes.  If a simplification has been found, replaces the old line
+     * and redundant vertices.  If a simplification has been found, replaces the old line
      * with the simplified one in \a aNode.
      */
     void simplifyNewLine( NODE* aNode, LINKED_ITEM* aLatest );
diff --git a/pcbnew/router/pns_meander.h b/pcbnew/router/pns_meander.h
index 2de3617801..a926323b11 100644
--- a/pcbnew/router/pns_meander.h
+++ b/pcbnew/router/pns_meander.h
@@ -403,7 +403,7 @@ public:
     void AddCorner( const VECTOR2I& aA, const VECTOR2I& aB = VECTOR2I( 0, 0 ) );
 
     /**
-     * Add a new meander shape the the meandered line.
+     * Add a new meander shape to the meandered line.
      *
      * @param aShape the meander shape to add
      */
diff --git a/pcbnew/router/pns_optimizer.cpp b/pcbnew/router/pns_optimizer.cpp
index e40e5ecda7..0581594fed 100644
--- a/pcbnew/router/pns_optimizer.cpp
+++ b/pcbnew/router/pns_optimizer.cpp
@@ -1258,7 +1258,7 @@ bool OPTIMIZER::mergeDpStep( DIFF_PAIR* aPair, bool aTryP, int step )
     int n_segs = currentPath.SegmentCount() - 1;
 
     int64_t clenPre = aPair->CoupledLength( currentPath, coupledPath );
-    int64_t budget = clenPre / 10; // fixme: come up with somethig more intelligent here...
+    int64_t budget = clenPre / 10; // fixme: come up with something more intelligent here...
 
     while( n < n_segs - step )
     {
diff --git a/pcbnew/router/pns_placement_algo.h b/pcbnew/router/pns_placement_algo.h
index ce716da692..1e33ab0053 100644
--- a/pcbnew/router/pns_placement_algo.h
+++ b/pcbnew/router/pns_placement_algo.h
@@ -72,7 +72,7 @@ public:
      *
      * Commits the currently routed items to the parent node, taking
      * aP as the final end point and aEndItem as the final anchor (if provided).
-     * @return true, if route has been commited. May return false if the routing
+     * @return true, if route has been committed. May return false if the routing
      * result is violating design rules - in such case, the track is only committed
      * if Settings.CanViolateDRC() is on.
      */
diff --git a/pcbnew/specctra_import_export/specctra.h b/pcbnew/specctra_import_export/specctra.h
index b61868502c..526e6241f5 100644
--- a/pcbnew/specctra_import_export/specctra.h
+++ b/pcbnew/specctra_import_export/specctra.h
@@ -144,7 +144,7 @@ struct POINT
      * writes this object as ASCII out to an OUTPUTFORMATTER according to the
      * SPECCTRA DSN format.
      * @param out The formatter to write to.
-     * @param nestLevel A multiple of the number of spaces to preceed the output with.
+     * @param nestLevel A multiple of the number of spaces to precede the output with.
      * @throw IO_ERROR if a system error writing the output, such as a full disk.
      */
     void Format( OUTPUTFORMATTER* out, int nestLevel ) const
@@ -166,7 +166,7 @@ struct PROPERTY
      * writes this object as ASCII out to an OUTPUTFORMATTER according to the
      * SPECCTRA DSN format.
      * @param out The formatter to write to.
-     * @param nestLevel A multiple of the number of spaces to preceed the output with.
+     * @param nestLevel A multiple of the number of spaces to precede the output with.
      * @throw IO_ERROR if a system error writing the output, such as a full disk.
      */
     void Format( OUTPUTFORMATTER* out, int nestLevel ) const
@@ -200,7 +200,7 @@ protected:
 
     /**
      * Function makeHash
-     * returns a string which uniquely represents this ELEM amoung other
+     * returns a string which uniquely represents this ELEM among other
      * ELEMs of the same derived class as "this" one.
      * It is not useable for all derived classes, only those which plan for
      * it by implementing a FormatContents() function that captures all info
@@ -244,7 +244,7 @@ public:
      * writes this object as ASCII out to an OUTPUTFORMATTER according to the
      * SPECCTRA DSN format.
      * @param out The formatter to write to.
-     * @param nestLevel A multiple of the number of spaces to preceed the output with.
+     * @param nestLevel A multiple of the number of spaces to precede the output with.
      * @throw IO_ERROR if a system error writing the output, such as a full disk.
      */
     virtual void Format( OUTPUTFORMATTER* out, int nestLevel );
@@ -256,7 +256,7 @@ public:
      * SPECCTRA DSN format.  This is the same as Format() except that the outer
      * wrapper is not included.
      * @param out The formatter to write to.
-     * @param nestLevel A multiple of the number of spaces to preceed the output with.
+     * @param nestLevel A multiple of the number of spaces to precede the output with.
      * @throw IO_ERROR if a system error writing the output, such as a full disk.
      */
     virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel )
@@ -2458,7 +2458,7 @@ struct PIN_REF : public ELEM
 
     /**
      * Function FormatIt
-     * is like Format() but is not virual and returns the number of characters
+     * is like Format() but is not virtual and returns the number of characters
      * that were output.
      */
     int FormatIt( OUTPUTFORMATTER* out, int nestLevel )
@@ -3693,7 +3693,7 @@ class SPECCTRA_DB : public SPECCTRA_LEXER
      * The caller should have already read in the first token comprizing the
      * pin_reference and it will be tested through CurTok().
      *
-     * @param component_id Where to put the text preceeding the '-' hyphen.
+     * @param component_id Where to put the text preceding the '-' hyphen.
      * @param pid_id Where to put the text which trails the '-'.
      * @throw IO_ERROR, if the next token or two do no make up a pin_reference,
      * or there is an error reading from the input stream.
diff --git a/pcbnew/tools/board_editor_control.cpp b/pcbnew/tools/board_editor_control.cpp
index 7045fc24b1..273117d403 100644
--- a/pcbnew/tools/board_editor_control.cpp
+++ b/pcbnew/tools/board_editor_control.cpp
@@ -419,7 +419,7 @@ int BOARD_EDITOR_CONTROL::ExportNetlist( const TOOL_EVENT& aEvent )
     wxFileName fn = m_frame->Prj().GetProjectFullName();
 
     // Use a different file extension for the board netlist so the schematic netlist file
-    // is accidently overwritten.
+    // is accidentally overwritten.
     fn.SetExt( "pcb_net" );
 
     wxFileDialog dlg( m_frame, _( "Export Board Netlist" ), fn.GetPath(), fn.GetFullName(),
@@ -1286,7 +1286,7 @@ static bool mergeZones( BOARD_COMMIT& aCommit, std::vector<ZONE*>& aOriginZones,
 
     // We should have one polygon with hole
     // We can have 2 polygons with hole, if the 2 initial polygons have only one common corner
-    // and therefore cannot be merged (they are dectected as intersecting)
+    // and therefore cannot be merged (they are detected as intersecting)
     // but we should never have more than 2 polys
     if( aOriginZones[0]->Outline()->OutlineCount() > 1 )
     {
@@ -1404,7 +1404,7 @@ int BOARD_EDITOR_CONTROL::ZoneDuplicate( const TOOL_EVENT& aEvent )
     newZone->UnFill();
     zoneSettings.ExportSetting( *newZone );
 
-    // If the new zone is on the same layer(s) as the the initial zone,
+    // If the new zone is on the same layer(s) as the initial zone,
     // offset it a bit so it can more easily be picked.
     if( oldZone->GetIsRuleArea() && ( oldZone->GetLayerSet() == zoneSettings.m_Layers ) )
         newZone->Move( wxPoint( IU_PER_MM, IU_PER_MM ) );
diff --git a/pcbnew/tools/drawing_stackup_table_tool.cpp b/pcbnew/tools/drawing_stackup_table_tool.cpp
index 4dd54171c5..9925dff77f 100644
--- a/pcbnew/tools/drawing_stackup_table_tool.cpp
+++ b/pcbnew/tools/drawing_stackup_table_tool.cpp
@@ -68,7 +68,7 @@ static std::vector<BOARD_ITEM*> initTextTable( std::vector<std::vector<PCB_TEXT*
 
     std::vector<BOARD_ITEM*> table;
 
-    // xmargin and ymargin are margins between the text and the the table lines.
+    // xmargin and ymargin are margins between the text and the table lines.
     //
     //  +--------------------------------+
     //  |            ^                   |
diff --git a/pcbnew/tools/drawing_tool.cpp b/pcbnew/tools/drawing_tool.cpp
index f093b15b03..d0c094ced0 100644
--- a/pcbnew/tools/drawing_tool.cpp
+++ b/pcbnew/tools/drawing_tool.cpp
@@ -1640,7 +1640,7 @@ bool DRAWING_TOOL::drawSegment( const std::string& aTool, PCB_SHAPE** aGraphic,
         }
     }
 
-    if( !isLocalOriginSet ) // reset the relative coordinte if it was not set before
+    if( !isLocalOriginSet ) // reset the relative coordinate if it was not set before
         m_frame->GetScreen()->m_LocalOrigin = VECTOR2D( 0, 0 );
 
     m_view->Remove( &twoPointAsst );
diff --git a/pcbnew/tools/edit_tool.cpp b/pcbnew/tools/edit_tool.cpp
index 747cc93dc6..28e875057f 100644
--- a/pcbnew/tools/edit_tool.cpp
+++ b/pcbnew/tools/edit_tool.cpp
@@ -633,7 +633,7 @@ int EDIT_TOOL::DragArcTrack( const TOOL_EVENT& aEvent )
             return true;
         };
 
-    // Ammend the end points of the arc if we delete the joining tracks
+    // Amend the end points of the arc if we delete the joining tracks
     wxPoint newStart = trackOnStart->GetStart();
     wxPoint newEnd = trackOnEnd->GetStart();
 
diff --git a/pcbnew/tools/pcb_editor_conditions.h b/pcbnew/tools/pcb_editor_conditions.h
index c6c6dcd625..6c7f896058 100644
--- a/pcbnew/tools/pcb_editor_conditions.h
+++ b/pcbnew/tools/pcb_editor_conditions.h
@@ -48,7 +48,7 @@ public:
     /**
      * Create a functor that tests if there are items in the board
      *
-     * @return Functor returning true if the the current board has items
+     * @return Functor returning true if the current board has items
      */
     SELECTION_CONDITION HasItems();
 
diff --git a/pcbnew/tools/pcb_selection_tool.cpp b/pcbnew/tools/pcb_selection_tool.cpp
index 30836cf335..04127cba1e 100644
--- a/pcbnew/tools/pcb_selection_tool.cpp
+++ b/pcbnew/tools/pcb_selection_tool.cpp
@@ -218,7 +218,7 @@ void PCB_SELECTION_TOOL::setModifiersState( bool aShiftState, bool aCtrlState, b
     // from the state of modifier keys SHIFT, CTRL, ALT and the OS
 
     // on left click, a selection is made, depending on modifiers ALT, SHIFT, CTRL:
-    // Due to the fact ALT key modifier cannot be useed freely on Winows and Linux,
+    // Due to the fact ALT key modifier cannot be used freely on Winows and Linux,
     // actions are different on OSX and others OS
     // Especially, ALT key cannot be used to force showing the full selection choice
     // context menu (the menu is immediately closed on Windows )
@@ -558,7 +558,7 @@ PCB_SELECTION& PCB_SELECTION_TOOL::RequestSelection( CLIENT_SELECTION_FILTER aCl
         // Unhighlight the BEFORE items before highlighting the AFTER items.
         // This is so that in the case of groups, if aClientFilter replaces a selection
         // with the enclosing group, the unhighlight of the element doesn't undo the
-        // recursive highlighting of that elemetn by the group.
+        // recursive highlighting of that element by the group.
 
         for( std::pair<EDA_ITEM* const, DISPOSITION> itemDisposition : itemDispositions )
         {
diff --git a/pcbnew/tools/zone_create_helper.cpp b/pcbnew/tools/zone_create_helper.cpp
index 5bbe02c5cf..66839d8247 100644
--- a/pcbnew/tools/zone_create_helper.cpp
+++ b/pcbnew/tools/zone_create_helper.cpp
@@ -69,7 +69,7 @@ std::unique_ptr<ZONE> ZONE_CREATE_HELPER::createNewZone( bool aKeepout )
     zoneInfo.SetIsRuleArea( m_params.m_keepout );
     zoneInfo.m_Zone_45_Only = ( m_params.m_leaderMode == POLYGON_GEOM_MANAGER::LEADER_MODE::DEG45 );
 
-    // If we don't have a net from highlighing, maybe we can get one from the selection
+    // If we don't have a net from highlighting, maybe we can get one from the selection
     PCB_SELECTION_TOOL* selectionTool = m_tool.GetManager()->GetTool<PCB_SELECTION_TOOL>();
 
     if( selectionTool && !selectionTool->GetSelection().Empty()
@@ -266,7 +266,7 @@ bool ZONE_CREATE_HELPER::OnFirstPoint( POLYGON_GEOM_MANAGER& aMgr )
         {
             m_tool.GetManager()->RunAction( PCB_ACTIONS::selectionClear, true );
 
-            // set up poperties from zone
+            // set up properties from zone
             const auto& settings = *m_parentView.GetPainter()->GetSettings();
             COLOR4D color = settings.GetColor( nullptr, m_zone->GetLayer() );
 
diff --git a/pcbnew/tracks_cleaner.cpp b/pcbnew/tracks_cleaner.cpp
index ceedd26497..d6c375647d 100644
--- a/pcbnew/tracks_cleaner.cpp
+++ b/pcbnew/tracks_cleaner.cpp
@@ -515,7 +515,7 @@ bool TRACKS_CLEANER::mergeCollinearSegments( TRACK* aSeg1, TRACK* aSeg2 )
             aSeg1->SetState( END_ONPAD, pad->HitTest( aSeg1->GetEnd() ) );
         }
 
-        // Merge succesful, seg2 has to go away
+        // Merge successful, seg2 has to go away
         m_brd->Remove( aSeg2 );
         m_commit.Removed( aSeg2 );
     }
diff --git a/pcbnew/undo_redo.cpp b/pcbnew/undo_redo.cpp
index c61985015a..c2f52e855a 100644
--- a/pcbnew/undo_redo.cpp
+++ b/pcbnew/undo_redo.cpp
@@ -191,7 +191,7 @@ void PCB_BASE_EDIT_FRAME::SaveCopyInUndoList( const PICKED_ITEMS_LIST& aItemsLis
     PICKED_ITEMS_LIST* commandToUndo = new PICKED_ITEMS_LIST();
 
     // First, filter unnecessary stuff from the list (i.e. for multiple pads / labels modified),
-    // take the first occurence of the footprint (we save copies of footprints when one of its
+    // take the first occurrence of the footprint (we save copies of footprints when one of its
     // subitems is changed).
     for( unsigned ii = 0; ii < aItemsList.GetCount(); ii++ )
     {
diff --git a/pcbnew/zone_filler.cpp b/pcbnew/zone_filler.cpp
index 2078eba08b..1b561e04b5 100644
--- a/pcbnew/zone_filler.cpp
+++ b/pcbnew/zone_filler.cpp
@@ -1030,7 +1030,7 @@ bool ZONE_FILLER::computeRawFilledArea( const ZONE* aZone,
     // It's unclear if ROUND_ACUTE_CORNERS would have the same issues, but is currently avoided
     // as a "less-safe" option.
     // ROUND_ALL_CORNERS produces the uniformly nicest shapes, but also a lot of segments.
-    // CHAMFER_ALL_CORNERS improves the segement count.
+    // CHAMFER_ALL_CORNERS improves the segment count.
     SHAPE_POLY_SET::CORNER_STRATEGY fastCornerStrategy = SHAPE_POLY_SET::CHAMFER_ALL_CORNERS;
     SHAPE_POLY_SET::CORNER_STRATEGY cornerStrategy = SHAPE_POLY_SET::ROUND_ALL_CORNERS;
 
@@ -1425,7 +1425,7 @@ bool ZONE_FILLER::addHatchFillTypeOnZone( const ZONE* aZone, PCB_LAYER_ID aLayer
                                     * aZone->GetHatchSmoothingValue() / 2 );
 
         // Minimal optimization:
-        // make smoothing only for reasonnable smooth values, to avoid a lot of useless segments
+        // make smoothing only for reasonable smooth values, to avoid a lot of useless segments
         // and if the smooth value is small, use chamfer even if fillet is requested
         #define SMOOTH_MIN_VAL_MM 0.02
         #define SMOOTH_SMALL_VAL_MM 0.04
diff --git a/pcbnew/zone_filler.h b/pcbnew/zone_filler.h
index 8fa0641418..89c9a770b4 100644
--- a/pcbnew/zone_filler.h
+++ b/pcbnew/zone_filler.h
@@ -102,7 +102,7 @@ private:
      * @param aRawPolys: A reference to a SHAPE_POLY_SET buffer to store
      * filled solid areas polygons (with holes)
      * @param aFinalPolys: A reference to a SHAPE_POLY_SET buffer to store polygons with no holes
-     * (holes are linked to main outline by overlapping segments, and these polygons are shrinked
+     * (holes are linked to main outline by overlapping segments, and these polygons are shrunk
      * by aZone->GetMinThickness() / 2 to be drawn with a outline thickness = aZone->GetMinThickness()
      * aFinalPolys are polygons that will be drawn on screen and plotted
      */
diff --git a/pcbnew/zones_functions_for_undo_redo.cpp b/pcbnew/zones_functions_for_undo_redo.cpp
index e9fc1374eb..840d4572fd 100644
--- a/pcbnew/zones_functions_for_undo_redo.cpp
+++ b/pcbnew/zones_functions_for_undo_redo.cpp
@@ -198,7 +198,7 @@ int SaveCopyOfZones( PICKED_ITEMS_LIST& aPickList, BOARD* aPcb, int aNetCode, LA
  *  All pickers flagged NEWITEM are moved to aPickList
  * (the corresponding zones are zone that were created by the zone normalize and combine process,
  * mainly when adding cutout areas, or creating self intersecting contours)
- *  All pickers flagged DELETED are removed, and the coresponding zones actually deleted
+ *  All pickers flagged DELETED are removed, and the corresponding zones actually deleted
  * (the corresponding zones are new zone that were created by the zone normalize process,
  * when creating self intersecting contours, and after combined with an existing zone.
  * At the end of the update process the aAuxiliaryList must be void,
diff --git a/plugins/3d/vrml/v2/vrml2_switch.cpp b/plugins/3d/vrml/v2/vrml2_switch.cpp
index 9783957226..637b9e541b 100644
--- a/plugins/3d/vrml/v2/vrml2_switch.cpp
+++ b/plugins/3d/vrml/v2/vrml2_switch.cpp
@@ -277,7 +277,7 @@ bool WRL2SWITCH::readChildren( WRLPROC& proc, WRL2BASE* aTopNode )
 
     if( '[' != tok )
     {
-        // since there are no delimeters we expect a single child
+        // since there are no delimiters we expect a single child
         if( !aTopNode->ReadNode( proc, this, &child ) )
             return false;
 
diff --git a/plugins/3d/vrml/v2/vrml2_transform.cpp b/plugins/3d/vrml/v2/vrml2_transform.cpp
index b111875577..0387aa28b0 100644
--- a/plugins/3d/vrml/v2/vrml2_transform.cpp
+++ b/plugins/3d/vrml/v2/vrml2_transform.cpp
@@ -391,7 +391,7 @@ bool WRL2TRANSFORM::readChildren( WRLPROC& proc, WRL2BASE* aTopNode )
 
     if( '[' != tok )
     {
-        // since there are no delimeters we expect a single child
+        // since there are no delimiters we expect a single child
         if( !aTopNode->ReadNode( proc, this, NULL ) )
             return false;
 
diff --git a/qa/eeschema/data/eagle_schematics/eagle-import-testfile.brd b/qa/eeschema/data/eagle_schematics/eagle-import-testfile.brd
index 3d6a02c96a..12e4543195 100644
--- a/qa/eeschema/data/eagle_schematics/eagle-import-testfile.brd
+++ b/qa/eeschema/data/eagle_schematics/eagle-import-testfile.brd
@@ -128,7 +128,7 @@ www.panasonic.com&lt;p&gt;
 www.kemet.com&lt;p&gt;
 http://www.secc.co.jp/pdf/os_e/2004/e_os_all.pdf &lt;b&gt;(SANYO)&lt;/b&gt;
 &lt;p&gt;
-for trimmer refence see : &lt;u&gt;www.electrospec-inc.com/cross_references/trimpotcrossref.asp&lt;/u&gt;&lt;p&gt;
+for trimmer reference see : &lt;u&gt;www.electrospec-inc.com/cross_references/trimpotcrossref.asp&lt;/u&gt;&lt;p&gt;
 
 &lt;table border=0 cellspacing=0 cellpadding=0 width="100%" cellpaddding=0&gt;
 &lt;tr valign="top"&gt;
@@ -1299,7 +1299,7 @@ www.bccomponents.com &lt;p&gt;
 www.panasonic.com&lt;p&gt;
 www.kemet.com&lt;p&gt;
 &lt;p&gt;
-for trimmer refence see : &lt;u&gt;www.electrospec-inc.com/cross_references/trimpotcrossref.asp&lt;/u&gt;&lt;p&gt;
+for trimmer reference see : &lt;u&gt;www.electrospec-inc.com/cross_references/trimpotcrossref.asp&lt;/u&gt;&lt;p&gt;
 
 &lt;map name="nav_main"&gt;
 &lt;area shape="rect" coords="0,1,140,23" href="../military_specs.asp" title=""&gt;
diff --git a/qa/eeschema/data/eagle_schematics/eagle-import-testfile.sch b/qa/eeschema/data/eagle_schematics/eagle-import-testfile.sch
index ffd7bf5186..b0294dc8be 100644
--- a/qa/eeschema/data/eagle_schematics/eagle-import-testfile.sch
+++ b/qa/eeschema/data/eagle_schematics/eagle-import-testfile.sch
@@ -173,7 +173,7 @@ www.bccomponents.com &lt;p&gt;
 www.panasonic.com&lt;p&gt;
 www.kemet.com&lt;p&gt;
 &lt;p&gt;
-for trimmer refence see : &lt;u&gt;www.electrospec-inc.com/cross_references/trimpotcrossref.asp&lt;/u&gt;&lt;p&gt;
+for trimmer reference see : &lt;u&gt;www.electrospec-inc.com/cross_references/trimpotcrossref.asp&lt;/u&gt;&lt;p&gt;
 
 &lt;map name="nav_main"&gt;
 &lt;area shape="rect" coords="0,1,140,23" href="../military_specs.asp" title=""&gt;
@@ -3585,7 +3585,7 @@ www.panasonic.com&lt;p&gt;
 www.kemet.com&lt;p&gt;
 http://www.secc.co.jp/pdf/os_e/2004/e_os_all.pdf &lt;b&gt;(SANYO)&lt;/b&gt;
 &lt;p&gt;
-for trimmer refence see : &lt;u&gt;www.electrospec-inc.com/cross_references/trimpotcrossref.asp&lt;/u&gt;&lt;p&gt;
+for trimmer reference see : &lt;u&gt;www.electrospec-inc.com/cross_references/trimpotcrossref.asp&lt;/u&gt;&lt;p&gt;
 
 &lt;table border=0 cellspacing=0 cellpadding=0 width="100%" cellpaddding=0&gt;
 &lt;tr valign="top"&gt;
diff --git a/qa/eeschema/eeschema_test_utils.h b/qa/eeschema/eeschema_test_utils.h
index d5637e0fe1..45240703ad 100644
--- a/qa/eeschema/eeschema_test_utils.h
+++ b/qa/eeschema/eeschema_test_utils.h
@@ -32,7 +32,7 @@ namespace KI_TEST
 /**
  * Get the configured location of Eeschema test data.
  *
- * By default, this is the test data in the source tree, but can be overriden
+ * By default, this is the test data in the source tree, but can be overridden
  * by the KICAD_TEST_EESCHEMA_DATA_DIR environment variable.
  *
  * @return a filename referring to the test data dir to use.
diff --git a/qa/eeschema/test_lib_part.cpp b/qa/eeschema/test_lib_part.cpp
index a27580a3c8..d6e1918707 100644
--- a/qa/eeschema/test_lib_part.cpp
+++ b/qa/eeschema/test_lib_part.cpp
@@ -329,7 +329,7 @@ BOOST_AUTO_TEST_CASE( Compare )
     BOOST_CHECK( m_part_no_data.Compare( testPart ) > 0 );
     testPart.SetPinNameOffset( testPart.GetPinNameOffset() + 1 );
 
-    // Units locked flag comparision tests.
+    // Units locked flag comparison tests.
     testPart.LockUnits( true );
     BOOST_CHECK( m_part_no_data.Compare( testPart ) < 0 );
     testPart.LockUnits( false );
@@ -398,7 +398,7 @@ BOOST_AUTO_TEST_CASE( GetUnitItems )
     pin1->SetConvert( 1 );
     BOOST_CHECK( m_part_no_data.GetUnitItems( 1, 1 ).size() == 1 );
 
-    // Two unique units with pin 1 assigned to unit 1 and body style 1 and pin 2 assinged to
+    // Two unique units with pin 1 assigned to unit 1 and body style 1 and pin 2 assigned to
     // unit 2 and body style 1.
     LIB_PIN* pin2 = new LIB_PIN( &m_part_no_data );
     m_part_no_data.SetUnitCount( 2 );
diff --git a/qa/eeschema/test_sch_sheet_list.cpp b/qa/eeschema/test_sch_sheet_list.cpp
index bd9dfd1d87..2d018f93a7 100644
--- a/qa/eeschema/test_sch_sheet_list.cpp
+++ b/qa/eeschema/test_sch_sheet_list.cpp
@@ -165,7 +165,7 @@ BOOST_AUTO_TEST_CASE( TestEditPageNumbersInSharedDesign )
     {
         SCH_SHEET_LIST sheets = m_schematic.GetSheets();
 
-        // Ammend Page numbers
+        // Amend Page numbers
         sheets.at( 0 ).SetPageNumber( "A" );
         sheets.at( 1 ).SetPageNumber( "B" );
         sheets.at( 2 ).SetPageNumber( "C" );
diff --git a/qa/eeschema/test_sch_symbol.cpp b/qa/eeschema/test_sch_symbol.cpp
index 2906e86f35..5095de7d9c 100644
--- a/qa/eeschema/test_sch_symbol.cpp
+++ b/qa/eeschema/test_sch_symbol.cpp
@@ -60,7 +60,7 @@ BOOST_AUTO_TEST_CASE( DefaultProperties )
 
 
 /**
- * Test the orientation tranform changes.
+ * Test the orientation transform changes.
  */
 BOOST_AUTO_TEST_CASE( Orientation )
 {
diff --git a/qa/eeschema/uuid_test_utils.cpp b/qa/eeschema/uuid_test_utils.cpp
index 9fa8546c67..3cfbadf538 100644
--- a/qa/eeschema/uuid_test_utils.cpp
+++ b/qa/eeschema/uuid_test_utils.cpp
@@ -39,7 +39,7 @@ bool IsUUID( const std::string& aStr )
 
 bool IsUUIDPathWithLevels( const std::string& aStr, unsigned aLevels )
 {
-    // A UUID is formated as 8-4-4-4-12
+    // A UUID is formatted as 8-4-4-4-12
     const unsigned tsLen = 36;
     const unsigned levelLen = tsLen + 1; // add the /
 
diff --git a/qa/libs/kimath/geometry/test_circle.cpp b/qa/libs/kimath/geometry/test_circle.cpp
index 071e7b1c5c..87fb30ff09 100644
--- a/qa/libs/kimath/geometry/test_circle.cpp
+++ b/qa/libs/kimath/geometry/test_circle.cpp
@@ -322,7 +322,7 @@ static const std::vector<CIR_SEG_VECPT_CASE> construct_tan_tan_pt_cases = {
         { { 0, 0 }, {  1000000,       0 } },
         { { 0, 0 }, { -1000000, 1000000 } },
         { 400000, 0 },
-        { { 400009, 965709 } , 965709 }, // ammended to get the test to pass
+        { { 400009, 965709 } , 965709 }, // amended to get the test to pass
         //{ { 400000, 965686 } , 965686 }, // result from LibreCAD 2.2.0-rc2
     },
     {
@@ -330,7 +330,7 @@ static const std::vector<CIR_SEG_VECPT_CASE> construct_tan_tan_pt_cases = {
         { { 0, 0 }, {  1000,    0 } },
         { { 0, 0 }, { -1000, 1000 } },
         { 200, 100 },
-        { { 814, 1964} , 1964 }, // ammended to get the test to pass
+        { { 814, 1964} , 1964 }, // amended to get the test to pass
         //{ { 822, 1985} , 1985 }, // result from LibreCAD 2.2.0-rc2
     },
     {
diff --git a/qa/libs/kimath/geometry/test_segment.cpp b/qa/libs/kimath/geometry/test_segment.cpp
index f4a7f689a7..78a7cc1ab1 100644
--- a/qa/libs/kimath/geometry/test_segment.cpp
+++ b/qa/libs/kimath/geometry/test_segment.cpp
@@ -427,7 +427,7 @@ BOOST_AUTO_TEST_CASE( SegSegCollision )
 
 
 /**
- * Struct to hold general cases for collinearity, paralellism and perpendicularity
+ * Struct to hold general cases for collinearity, parallelism and perpendicularity
  */
 struct SEG_SEG_BOOLEAN_CASE
 {
@@ -491,7 +491,7 @@ BOOST_AUTO_TEST_CASE( SegSegCollinear )
 
 // clang-format off
 /**
- * Test cases for paralellism
+ * Test cases for parallelism
  */
 static const std::vector<SEG_SEG_BOOLEAN_CASE> seg_vec_parallel_cases = {
     {
diff --git a/qa/pcbnew/drc/test_drc_courtyard_invalid.cpp b/qa/pcbnew/drc/test_drc_courtyard_invalid.cpp
index 839a1628af..67ee29da57 100644
--- a/qa/pcbnew/drc/test_drc_courtyard_invalid.cpp
+++ b/qa/pcbnew/drc/test_drc_courtyard_invalid.cpp
@@ -236,7 +236,7 @@ static bool InvalidMatchesExpected( BOARD& aBoard, const PCB_MARKER& aMarker,
     auto reporter = std::static_pointer_cast<DRC_ITEM>( aMarker.GetRCItem() );
     const FOOTPRINT* item_a = dynamic_cast<FOOTPRINT*>( aBoard.GetItem( reporter->GetMainItemID() ) );
 
-    // This one is more than just a mis-match!
+    // This one is more than just a mismatch!
     if( reporter->GetAuxItemID() != niluuid )
     {
         BOOST_WARN_MESSAGE( false, "Expected no auxiliary item for invalid courtyard DRC." );
diff --git a/qa/pcbnew/drc/test_drc_courtyard_overlap.cpp b/qa/pcbnew/drc/test_drc_courtyard_overlap.cpp
index 4b61da7ede..9b09529519 100644
--- a/qa/pcbnew/drc/test_drc_courtyard_overlap.cpp
+++ b/qa/pcbnew/drc/test_drc_courtyard_overlap.cpp
@@ -393,7 +393,7 @@ static bool CollisionMatchesExpected( BOARD& aBoard, const PCB_MARKER& aMarker,
     const FOOTPRINT* item_a = dynamic_cast<FOOTPRINT*>( aBoard.GetItem( reporter->GetMainItemID() ) );
     const FOOTPRINT* item_b = dynamic_cast<FOOTPRINT*>( aBoard.GetItem( reporter->GetAuxItemID() ) );
 
-    // cant' find the items!
+    // can't find the items!
     if( !item_a || !item_b )
         return false;
 
diff --git a/qa/pcbnew_utils/CMakeLists.txt b/qa/pcbnew_utils/CMakeLists.txt
index 260538dbf1..f529631165 100644
--- a/qa/pcbnew_utils/CMakeLists.txt
+++ b/qa/pcbnew_utils/CMakeLists.txt
@@ -20,7 +20,7 @@
 # 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 # Pcbnew-related auxiliary functions that are useful for QA purposes
-# (both unit tests ans utility programs)
+# (both unit tests and utility programs)
 
 # This is a massive hack in the CMake as I have no idea how to get this to
 # link against pcbnew/pcbcommon/etc and still allow a dependency to also link
diff --git a/qa/qa_utils/include/qa_utils/utility_program.h b/qa/qa_utils/include/qa_utils/utility_program.h
index 7f5a050b87..ecf40c3d78 100644
--- a/qa/qa_utils/include/qa_utils/utility_program.h
+++ b/qa/qa_utils/include/qa_utils/utility_program.h
@@ -99,7 +99,7 @@ class COMBINED_UTILITY
 public:
 
     /**
-     * Take in a a command line and:
+     * Take in a command line and:
      *
      * * Handle "top level" commands like -h and -l
      * * Delegate to sub-utilities
diff --git a/qa/qa_utils/stdstream_line_reader.cpp b/qa/qa_utils/stdstream_line_reader.cpp
index ededd0ca36..cee6fe5bc7 100644
--- a/qa/qa_utils/stdstream_line_reader.cpp
+++ b/qa/qa_utils/stdstream_line_reader.cpp
@@ -36,7 +36,7 @@ STDISTREAM_LINE_READER::STDISTREAM_LINE_READER() :
 
 STDISTREAM_LINE_READER::~STDISTREAM_LINE_READER()
 {
-    // this is only a view into a string, it cant be deleted by the base
+    // this is only a view into a string, it can't be deleted by the base
     m_line = nullptr;
 }
 
diff --git a/qa/resources/linux/verifyMetadataFiles.sh b/qa/resources/linux/verifyMetadataFiles.sh
index 8c87ecc162..8b51c0fe01 100755
--- a/qa/resources/linux/verifyMetadataFiles.sh
+++ b/qa/resources/linux/verifyMetadataFiles.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-# WARNING: This script will modify file assocations and MIME types on the system it
+# WARNING: This script will modify file associations and MIME types on the system it
 # runs on. Use at your own risk!
 
 # The root of the code directory is the first argument
@@ -17,7 +17,7 @@ KICAD_MIME_TEST_FILES=$KICAD_CODE_DIR/qa/resources/linux/mimeFiles
 
 ###################################################################
 # Verify the metainfo file
-# There are two different checkers we can use, and each distro perfers
+# There are two different checkers we can use, and each distro prefers
 # different ones - so lets just test using them both and make them both
 # happy.
 ###################################################################
diff --git a/scripting/build_tools/fix_swig_imports.py b/scripting/build_tools/fix_swig_imports.py
index 4f97df079f..a869d6dcf6 100644
--- a/scripting/build_tools/fix_swig_imports.py
+++ b/scripting/build_tools/fix_swig_imports.py
@@ -19,7 +19,7 @@ if len(argv)<2:
     print("   fix_swig_imports.py file.py")
     print("")
     print("   will fix the swig import code for working inside KiCad")
-    print("   where it happended that the external _pcbnew.so/dll was")
+    print("   where it happened that the external _pcbnew.so/dll was")
     print("   loaded too -and the internal _pcbnew module was to be used")
     exit(1)
 
diff --git a/scripting/python_scripting.cpp b/scripting/python_scripting.cpp
index e09300ea5b..748c2a9c83 100644
--- a/scripting/python_scripting.cpp
+++ b/scripting/python_scripting.cpp
@@ -302,7 +302,7 @@ void UpdatePythonEnvVar( const wxString& aVar, const wxString& aValue )
 {
     char cmd[1024];
 
-    // Ensure the interpreter is initalized before we try to interact with it
+    // Ensure the interpreter is initialized before we try to interact with it
     if( !Py_IsInitialized() )
         return;
 
diff --git a/tools/checkcoding.py b/tools/checkcoding.py
index 7b001510f1..519cfdce42 100755
--- a/tools/checkcoding.py
+++ b/tools/checkcoding.py
@@ -13,7 +13,7 @@ import difflib
 class coding_checker(object):
     file_filter = ["cpp", "cxx", "h", "hpp", "c"]
 
-    # Function to call uncrustify, it returns the re-formated code and
+    # Function to call uncrustify, it returns the re-formatted code and
     # any errors
     #
 
diff --git a/translation/README.adoc b/translation/README.adoc
index 738c3f2fa7..4ae6c2f1e2 100644
--- a/translation/README.adoc
+++ b/translation/README.adoc
@@ -46,8 +46,8 @@ Here we included the language, branch and sha of the kicad source at
 the time of updating.  Now make your translations and commit that and
 push the pull request.
 
-This is not mandatory, but it makes it easer for other people to
-review your changes when we seperate the automatic update from the
+This is not mandatory, but it makes it easier for other people to
+review your changes when we separate the automatic update from the
 human edits.
 
 
diff --git a/uncrustify.cfg b/uncrustify.cfg
index 8d5d47b971..808d361a91 100644
--- a/uncrustify.cfg
+++ b/uncrustify.cfg
@@ -1530,7 +1530,7 @@ cmt_insert_func_header                    = ""         # string
 # Will substitute $(class) with the class name.
 cmt_insert_class_header                   = ""         # string
 
-# The filename that contains text to insert before a Obj-C message specification if the method isn't preceeded with a C/C++ comment.
+# The filename that contains text to insert before a Obj-C message specification if the method isn't preceded with a C/C++ comment.
 # Will substitute $(message) with the function name and $(javaparam) with the javadoc @param and @return stuff.
 cmt_insert_oc_msg_header                  = ""         # string
 
diff --git a/utils/kicad2step/pcb/kicadcurve.cpp b/utils/kicad2step/pcb/kicadcurve.cpp
index c1b3ef5f97..da836b8885 100644
--- a/utils/kicad2step/pcb/kicadcurve.cpp
+++ b/utils/kicad2step/pcb/kicadcurve.cpp
@@ -99,7 +99,7 @@ bool KICADCURVE::Read( SEXPR::SEXPR* aEntry, CURVE_TYPE aCurveType )
                     || ( aCurveType == CURVE_POLYGON && prms->GetNumberOfChildren() < 4 ) )
                 return false;
 
-            // Extract xy coordintes from pts list
+            // Extract xy coordinates from pts list
             SEXPR::SEXPR_VECTOR const* list = prms->GetChildren();
 
             // The first parameter is "pts", so skip it.