From b1f0a6379a0d9f2e41de8dba8f8aef710ddc0246 Mon Sep 17 00:00:00 2001
From: Nate Contino
Date: Thu, 6 Jun 2024 12:14:20 -0400
Subject: [PATCH] Remove smart quotes and smart apostrophes
---
LICENSE.md | 10 +++++-----
.../asciidoc/accessories/audio/configuration.adoc | 6 +++---
.../asciidoc/accessories/audio/dac_pro.adoc | 4 ++--
.../asciidoc/accessories/audio/digiamp_plus.adoc | 2 +-
.../asciidoc/accessories/audio/hardware-info.adoc | 2 +-
.../accessories/build-hat/preparing-build-hat.adoc | 12 ++++++------
.../asciidoc/accessories/build-hat/py-motors.adoc | 4 ++--
.../asciidoc/accessories/build-hat/py-sensors.adoc | 4 ++--
.../asciidoc/accessories/camera/camera_hardware.adoc | 6 +++---
.../keyboard-and-mouse/connecting-things.adoc | 2 +-
.../keyboard-and-mouse/getting-started-keyboard.adoc | 2 +-
.../asciidoc/accessories/m2-hat-plus/about.adoc | 2 +-
.../raspberry-pi/raspberry-pi-industrial.adoc | 2 +-
.../microcontrollers/debug-probe/swd-connection.adoc | 2 +-
.../microcontrollers/micropython/drag-and-drop.adoc | 2 +-
.../micropython/micropython-documentation.adoc | 2 +-
.../raspberry-pi-pico/about_pico.adoc | 6 +++---
scripts/tests/fixtures/expected_adoc.adoc | 4 ++--
scripts/tests/fixtures/group__channel__config.html | 2 +-
scripts/tests/fixtures/group__hardware__dma.html | 4 ++--
20 files changed, 40 insertions(+), 40 deletions(-)
diff --git a/LICENSE.md b/LICENSE.md
index 3cb65d4914..4b2db9cd3d 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -4,7 +4,7 @@ The Raspberry Pi documentation is licensed under a [Creative Commons Attribution
# Creative Commons Attribution-ShareAlike 4.0 International
-Creative Commons Corporation (“Creative Commons”) is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an “as-is” basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible.
+Creative Commons Corporation ("Creative Commons") is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an "as-is" basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible.
### Using Creative Commons Public Licenses
@@ -12,7 +12,7 @@ Creative Commons public licenses provide a standard set of terms and conditions
* __Considerations for licensors:__ Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. [More considerations for licensors](http://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensors).
-* __Considerations for the public:__ By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor’s permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. [More considerations for the public](http://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensees).
+* __Considerations for the public:__ By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor's permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. [More considerations for the public](http://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensees).
## Creative Commons Attribution-ShareAlike 4.0 International Public License
@@ -66,7 +66,7 @@ a. ___License grant.___
A. __Offer from the Licensor – Licensed Material.__ Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License.
- B. __Additional offer from the Licensor – Adapted Material.__ Every recipient of Adapted Material from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Adapted Material under the conditions of the Adapter’s License You apply.
+ B. __Additional offer from the Licensor – Adapted Material.__ Every recipient of Adapted Material from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Adapted Material under the conditions of the Adapter's License You apply.
C. __No downstream restrictions.__ You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material.
@@ -112,7 +112,7 @@ b. ___ShareAlike.___
In addition to the conditions in Section 3(a), if You Share Adapted Material You produce, the following conditions also apply.
-1. The Adapter’s License You apply must be a Creative Commons license with the same License Elements, this version or later, or a BY-SA Compatible License.
+1. The Adapter's License You apply must be a Creative Commons license with the same License Elements, this version or later, or a BY-SA Compatible License.
2. You must include the text of, or the URI or hyperlink to, the Adapter's License You apply. You may satisfy this condition in any reasonable manner based on the medium, means, and context in which You Share Adapted Material.
@@ -170,6 +170,6 @@ c. No term or condition of this Public License will be waived and no failure to
d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.
-> Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” The text of the Creative Commons public licenses is dedicated to the public domain under the [CC0 Public Domain Dedication](https://creativecommons.org/publicdomain/zero/1.0/legalcode). Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at [creativecommons.org/policies](http://creativecommons.org/policies), Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses.
+> Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the "Licensor." The text of the Creative Commons public licenses is dedicated to the public domain under the [CC0 Public Domain Dedication](https://creativecommons.org/publicdomain/zero/1.0/legalcode). Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at [creativecommons.org/policies](http://creativecommons.org/policies), Creative Commons does not authorize the use of the trademark "Creative Commons" or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses.
>
> Creative Commons may be contacted at creativecommons.org.
\ No newline at end of file
diff --git a/documentation/asciidoc/accessories/audio/configuration.adoc b/documentation/asciidoc/accessories/audio/configuration.adoc
index fb3b498b2a..f339cb1919 100644
--- a/documentation/asciidoc/accessories/audio/configuration.adoc
+++ b/documentation/asciidoc/accessories/audio/configuration.adoc
@@ -6,7 +6,7 @@ image::images/gui.png[]
There are a number of third-party audio software applications available for Raspberry Pi that will support the plug-and-play feature of our audio boards. Often these are used headless. They can be controlled via a PC or Mac application, or by a web server installed on Raspberry Pi, with interaction through a webpage.
-If you need to configure Raspberry Pi OS yourself, perhaps if you're running a headless system of your own and don't have the option of control via the GUI, you will need to make your Raspberry Pi audio board the primary audio device in Raspberry Pi OS, disabling the Raspberry Pi’s on-board audio device. This is done by editing the xref:../computers/config_txt.adoc#what-is-config-txt[`/boot/firmware/config.txt`] file. Using a Terminal session connected to your Raspberry Pi via SSH, run the following command to edit the file:
+If you need to configure Raspberry Pi OS yourself, perhaps if you're running a headless system of your own and don't have the option of control via the GUI, you will need to make your Raspberry Pi audio board the primary audio device in Raspberry Pi OS, disabling the Raspberry Pi's on-board audio device. This is done by editing the xref:../computers/config_txt.adoc#what-is-config-txt[`/boot/firmware/config.txt`] file. Using a Terminal session connected to your Raspberry Pi via SSH, run the following command to edit the file:
[source,console]
----
@@ -31,7 +31,7 @@ Alternatively, the `/boot/firmware/config.txt` file can be edited directly onto
=== Attach the HAT
-The Raspberry Pi audio boards attach to the Raspberry Pi’s 40-pin header. They are designed to be supported on the Raspberry Pi using the supplied circuit board standoffs and screws. No soldering is required on the Raspberry Pi audio boards for normal operation unless you are using hardwired connections for specific connectors such as XLR (External Line Return) connections on the DAC Pro.
+The Raspberry Pi audio boards attach to the Raspberry Pi's 40-pin header. They are designed to be supported on the Raspberry Pi using the supplied circuit board standoffs and screws. No soldering is required on the Raspberry Pi audio boards for normal operation unless you are using hardwired connections for specific connectors such as XLR (External Line Return) connections on the DAC Pro.
All the necessary mounting hardware including spacers, screws and connectors is provided. The PCB spacers should be screwed, finger-tight only, to the Raspberry Pi before adding the audio board. The remaining screws should then be screwed into the spacers from above.
@@ -68,7 +68,7 @@ Each input and output device has its own mixer, allowing the audio levels and vo
independently. Within the codec itself, other mixers and switches exist to allow the output to be mixed to a single mono channel for single-speaker output. Signals may also be inverted; there is a five-band equaliser to adjust certain frequency bands. These settings can be controlled interactively, using AlsaMixer, or programmatically.
Both the AUX IN and AUX OUT are 1V RMS. It may be necessary to adjust
-the AUX IN’s mixer to ensure that the input signal doesn’t saturate the ADC. Similarly, the output mixers can be to be adjusted to get the best possible output.
+the AUX IN's mixer to ensure that the input signal doesn't saturate the ADC. Similarly, the output mixers can be to be adjusted to get the best possible output.
Preconfigured scripts (loadable ALSA settings) https://github.com/raspberrypi/Pi-Codec[are available on GitHub], offering:
diff --git a/documentation/asciidoc/accessories/audio/dac_pro.adoc b/documentation/asciidoc/accessories/audio/dac_pro.adoc
index 7f21da749b..2e8c444a5b 100644
--- a/documentation/asciidoc/accessories/audio/dac_pro.adoc
+++ b/documentation/asciidoc/accessories/audio/dac_pro.adoc
@@ -23,8 +23,8 @@ audio and left and right ground.
==== Optional XLR Board
-The Pi-DAC PRO exposes a 6 pin header used by the optional XLR board to provide Differential / Balanced output exposed by XLR sockets above the Pi’s USB/Ethernet ports.
+The Pi-DAC PRO exposes a 6 pin header used by the optional XLR board to provide Differential / Balanced output exposed by XLR sockets above the Pi's USB/Ethernet ports.
image::images/optional_xlr_board.jpg[width="80%"]
-An XLR connector is used in Studio and some hi-end hifi systems. It can also be used to drive ACTIVE “monitor” speakers as used at discos or on stage.
+An XLR connector is used in Studio and some hi-end hifi systems. It can also be used to drive ACTIVE "monitor" speakers as used at discos or on stage.
diff --git a/documentation/asciidoc/accessories/audio/digiamp_plus.adoc b/documentation/asciidoc/accessories/audio/digiamp_plus.adoc
index b440068c6b..51347778ec 100644
--- a/documentation/asciidoc/accessories/audio/digiamp_plus.adoc
+++ b/documentation/asciidoc/accessories/audio/digiamp_plus.adoc
@@ -6,7 +6,7 @@ DigiAMP{plus} uses the Texas Instruments TAS5756M PowerDAC and must be powered f
image::images/DigiAMP+_Board_Diagram.jpg[width="80%"]
-DigiAMP{plus}’s power in barrel connector is 5.5mm × 2.5mm.
+DigiAMP{plus}'s power in barrel connector is 5.5mm × 2.5mm.
At power-on, the amplifier is muted by default (the mute LED is illuminated). Software is responsible for the mute state and LED control (Raspberry Pi GPIO22).
diff --git a/documentation/asciidoc/accessories/audio/hardware-info.adoc b/documentation/asciidoc/accessories/audio/hardware-info.adoc
index 013b3edd45..c7d445d64b 100644
--- a/documentation/asciidoc/accessories/audio/hardware-info.adoc
+++ b/documentation/asciidoc/accessories/audio/hardware-info.adoc
@@ -75,7 +75,7 @@ $ sudo alsactl restore -f /home//usecase.state
=== MPD-based audio with volume control
-To allow Music Player Daemon (MPD)-based audio software to control the audio board’s built in volume, the file
+To allow Music Player Daemon (MPD)-based audio software to control the audio board's built in volume, the file
`/etc/mpd.conf` may need to be changed to support the correct AlsaMixer name.
This can be achieved by ensuring the 'Audio output' section of `/etc/mpd.conf` has the 'mixer_control'
diff --git a/documentation/asciidoc/accessories/build-hat/preparing-build-hat.adoc b/documentation/asciidoc/accessories/build-hat/preparing-build-hat.adoc
index bbd4b86b61..dfe7a2ace2 100644
--- a/documentation/asciidoc/accessories/build-hat/preparing-build-hat.adoc
+++ b/documentation/asciidoc/accessories/build-hat/preparing-build-hat.adoc
@@ -29,19 +29,19 @@ The following pins are used by the Build HAT itself and you should not connect a
=== Set up your Raspberry Pi
-Once the Raspberry Pi has booted, open the Raspberry Pi Configuration tool by clicking on the Raspberry Menu button and then selecting “Preferences” and then “Raspberry Pi Configuration”.
+Once the Raspberry Pi has booted, open the Raspberry Pi Configuration tool by clicking on the Raspberry Menu button and then selecting "Preferences" and then "Raspberry Pi Configuration".
-Click on the “interfaces” tab and adjust the Serial settings as shown below:
+Click on the "interfaces" tab and adjust the Serial settings as shown below:
image::images/setting-up.png[width="50%"]
==== Use your Raspberry Pi headless
-If you are running your Raspberry Pi headless and using `raspi-config`, select “Interface Options” from the first menu.
+If you are running your Raspberry Pi headless and using `raspi-config`, select "Interface Options" from the first menu.
image::images/raspi-config-1.png[width="70%"]
-Then “P6 Serial Port”.
+Then "P6 Serial Port".
image::images/raspi-config-2.png[width="70%"]
@@ -61,7 +61,7 @@ You will need to reboot at this point if you have made any changes.
=== Power the Build HAT
-Connect an external power supply — the https://raspberrypi.com/products/build-hat-power-supply[official Raspberry Pi Build HAT power supply] is recommended — however any reliable +8V±10% power supply capable of supplying 48W via a DC 5521 centre positive barrel connector (5.5mm × 2.1mm × 11mm) will power the Build HAT. You don’t need to connect an additional USB power supply to the Raspberry Pi as well, unless you are using a Raspberry Pi 400.
+Connect an external power supply — the https://raspberrypi.com/products/build-hat-power-supply[official Raspberry Pi Build HAT power supply] is recommended — however any reliable +8V±10% power supply capable of supplying 48W via a DC 5521 centre positive barrel connector (5.5mm × 2.1mm × 11mm) will power the Build HAT. You don't need to connect an additional USB power supply to the Raspberry Pi as well, unless you are using a Raspberry Pi 400.
[NOTE]
====
@@ -72,7 +72,7 @@ image::images/powering-build-hat.gif[width="80%"]
[NOTE]
====
-The LEGO® Technic™ motors are very powerful; so to drive them you’ll need an external 8V power supply. If you want to read from motor encoders and the SPIKE™ force sensor, you can power your Raspberry Pi and Build HAT the usual way, via your Raspberry Pi’s USB power socket. The SPIKE™ colour and distance sensors, like the motors, require an https://raspberrypi.com/products/build-hat-power-supply[external power supply].
+The LEGO® Technic™ motors are very powerful; so to drive them you'll need an external 8V power supply. If you want to read from motor encoders and the SPIKE™ force sensor, you can power your Raspberry Pi and Build HAT the usual way, via your Raspberry Pi's USB power socket. The SPIKE™ colour and distance sensors, like the motors, require an https://raspberrypi.com/products/build-hat-power-supply[external power supply].
====
You have the choice to use Build HAT with Python or .NET.
diff --git a/documentation/asciidoc/accessories/build-hat/py-motors.adoc b/documentation/asciidoc/accessories/build-hat/py-motors.adoc
index db6b48a469..72f50d84e6 100644
--- a/documentation/asciidoc/accessories/build-hat/py-motors.adoc
+++ b/documentation/asciidoc/accessories/build-hat/py-motors.adoc
@@ -4,7 +4,7 @@ There are xref:build-hat.adoc#device-compatibility[a number of motors] that work
==== Connect a Motor
-Connect a motor to port A on the Build HAT. The LPF2 connectors need to be inserted the correct way up. If the connector doesn’t slide in easily, rotate by 180 degrees and try again.
+Connect a motor to port A on the Build HAT. The LPF2 connectors need to be inserted the correct way up. If the connector doesn't slide in easily, rotate by 180 degrees and try again.
image::images/connect-motor.gif[width="80%"]
@@ -22,7 +22,7 @@ motor_a = Motor('A')
motor_a.run_for_seconds(5)
----
-Run the program by clicking the play/run button. If this is the first time you’re running a Build HAT program since the Raspberry Pi has booted, there will be a few seconds pause while the firmware is copied across to the board. You should see the red LED extinguish and the green LED illuminate. Subsequent executions of a Python program will not require this pause.
+Run the program by clicking the play/run button. If this is the first time you're running a Build HAT program since the Raspberry Pi has booted, there will be a few seconds pause while the firmware is copied across to the board. You should see the red LED extinguish and the green LED illuminate. Subsequent executions of a Python program will not require this pause.
image::images/blinking-light.gif[width="80%"]
diff --git a/documentation/asciidoc/accessories/build-hat/py-sensors.adoc b/documentation/asciidoc/accessories/build-hat/py-sensors.adoc
index e2507e9aec..15571eae8e 100644
--- a/documentation/asciidoc/accessories/build-hat/py-sensors.adoc
+++ b/documentation/asciidoc/accessories/build-hat/py-sensors.adoc
@@ -6,7 +6,7 @@ There is a xref:build-hat.adoc#device-compatibility[large range of sensors] that
Connect a Colour sensor to port B on the Build HAT, and a Force sensor to port C.
-NOTE: If you’re not intending to drive a motor, then you don’t need an external power supply and you can use a standard USB power supply for your Raspberry Pi.
+NOTE: If you're not intending to drive a motor, then you don't need an external power supply and you can use a standard USB power supply for your Raspberry Pi.
Create another new program:
@@ -30,4 +30,4 @@ button.when_released = handle_released
pause()
----
-Run it and hold a coloured object (LEGO® elements are ideal) in front of the colour sensor and press the Force sensor plunger. The sensor’s LED should switch on and the name of the closest colour should be displayed in the Thonny REPL.
+Run it and hold a coloured object (LEGO® elements are ideal) in front of the colour sensor and press the Force sensor plunger. The sensor's LED should switch on and the name of the closest colour should be displayed in the Thonny REPL.
diff --git a/documentation/asciidoc/accessories/camera/camera_hardware.adoc b/documentation/asciidoc/accessories/camera/camera_hardware.adoc
index 2c57b17b35..4096b84d6b 100644
--- a/documentation/asciidoc/accessories/camera/camera_hardware.adoc
+++ b/documentation/asciidoc/accessories/camera/camera_hardware.adoc
@@ -26,13 +26,13 @@ NOTE: Raspberry Pi Camera Modules are compatible with all Raspberry Pi computers
=== Rolling or Global shutter?
-Most digital cameras, including our Camera Modules, use a **rolling shutter**: they scan the image they’re capturing line-by-line, then output the results. You may have noticed that this can cause distortion effects in some settings; if you’ve ever photographed rotating propeller blades, you’ve probably spotted the image shimmering rather than looking like an object that is rotating. The propeller blades have had enough time to change position in the tiny moment that the camera has taken to swipe across and observe the scene.
+Most digital cameras, including our Camera Modules, use a **rolling shutter**: they scan the image they're capturing line-by-line, then output the results. You may have noticed that this can cause distortion effects in some settings; if you've ever photographed rotating propeller blades, you've probably spotted the image shimmering rather than looking like an object that is rotating. The propeller blades have had enough time to change position in the tiny moment that the camera has taken to swipe across and observe the scene.
-A **global shutter**, like the one on our Global Shutter Camera Module, doesn’t do this. It captures the light from every pixel in the scene at once, so your photograph of propeller blades will not suffer from the same distortion.
+A **global shutter**, like the one on our Global Shutter Camera Module, doesn't do this. It captures the light from every pixel in the scene at once, so your photograph of propeller blades will not suffer from the same distortion.
Why is this useful? Fast-moving objects, like those propeller blades, are now easy to capture; we can also synchronise several cameras to take a photo at precisely the same moment in time. There are plenty of benefits here, like minimising distortion when capturing stereo images. (The human brain is confused if any movement that appears in the left eye has not appeared in the right eye yet.) The Raspberry Pi Global Shutter Camera can also operate with shorter exposure times - down to 30µs, given enough light - than a rolling shutter camera, which makes it useful for high-speed photography.
-NOTE: The Global Shutter Camera’s image sensor has a 6.3mm diagonal active sensing area, which is similar in size to Raspberry Pi’s HQ Camera. However, the pixels are larger and can collect more light. Large pixel size and low pixel count are valuable in machine-vision applications; the more pixels a sensor produces, the harder it is to process the image in real time. To get around this, many applications downsize and crop images. This is unnecessary with the Global Shutter Camera and the appropriate lens magnification, where the lower resolution and large pixel size mean an image can be captured natively.
+NOTE: The Global Shutter Camera's image sensor has a 6.3mm diagonal active sensing area, which is similar in size to Raspberry Pi's HQ Camera. However, the pixels are larger and can collect more light. Large pixel size and low pixel count are valuable in machine-vision applications; the more pixels a sensor produces, the harder it is to process the image in real time. To get around this, many applications downsize and crop images. This is unnecessary with the Global Shutter Camera and the appropriate lens magnification, where the lower resolution and large pixel size mean an image can be captured natively.
== Install a Raspberry Pi camera
diff --git a/documentation/asciidoc/accessories/keyboard-and-mouse/connecting-things.adoc b/documentation/asciidoc/accessories/keyboard-and-mouse/connecting-things.adoc
index 8078b92ac4..a23011f5c3 100644
--- a/documentation/asciidoc/accessories/keyboard-and-mouse/connecting-things.adoc
+++ b/documentation/asciidoc/accessories/keyboard-and-mouse/connecting-things.adoc
@@ -1,6 +1,6 @@
== Connecting it all Together
-This is the configuration we recommend for using your Raspberry Pi, official keyboard and hub, and official mouse together. The hub on the keyboard ensures easy access to USB drives, and the mouse’s cable is tidy, while being long enough to allow you to use the mouse left- or right-handed.
+This is the configuration we recommend for using your Raspberry Pi, official keyboard and hub, and official mouse together. The hub on the keyboard ensures easy access to USB drives, and the mouse's cable is tidy, while being long enough to allow you to use the mouse left- or right-handed.
image::images/everything.png[width="80%"]
diff --git a/documentation/asciidoc/accessories/keyboard-and-mouse/getting-started-keyboard.adoc b/documentation/asciidoc/accessories/keyboard-and-mouse/getting-started-keyboard.adoc
index fc690f669d..3649738079 100644
--- a/documentation/asciidoc/accessories/keyboard-and-mouse/getting-started-keyboard.adoc
+++ b/documentation/asciidoc/accessories/keyboard-and-mouse/getting-started-keyboard.adoc
@@ -2,7 +2,7 @@
Our official keyboard includes three host USB ports for connecting external devices, such as USB mice, USB drives, and other USB- controlled devices.
-The product’s micro USB port is for connection to the Raspberry Pi. Via the USB hub built into the keyboard, the Raspberry Pi controls, and provides power to, the three USB Type A ports.
+The product's micro USB port is for connection to the Raspberry Pi. Via the USB hub built into the keyboard, the Raspberry Pi controls, and provides power to, the three USB Type A ports.
image::images/back-of-keyboard.png[width="80%"]
diff --git a/documentation/asciidoc/accessories/m2-hat-plus/about.adoc b/documentation/asciidoc/accessories/m2-hat-plus/about.adoc
index 126a29da0b..be2002dc21 100644
--- a/documentation/asciidoc/accessories/m2-hat-plus/about.adoc
+++ b/documentation/asciidoc/accessories/m2-hat-plus/about.adoc
@@ -4,7 +4,7 @@
.The Raspberry Pi M.2 HAT+
image::images/m2-hat-plus.jpg[width="80%"]
-The Raspberry Pi M.2 HAT+ M Key enables you to connect M.2 peripherals such as NVMe drives and other PCIe accessories to Raspberry Pi 5’s PCIe interface.
+The Raspberry Pi M.2 HAT+ M Key enables you to connect M.2 peripherals such as NVMe drives and other PCIe accessories to Raspberry Pi 5's PCIe interface.
The M.2 HAT+ adapter board converts between the PCIe connector on Raspberry Pi 5 and a single M.2 M key edge connector. You can connect any device that uses the 2230 or 2242 form factors. The M.2 HAT+ can supply up to 3A of power.
diff --git a/documentation/asciidoc/computers/raspberry-pi/raspberry-pi-industrial.adoc b/documentation/asciidoc/computers/raspberry-pi/raspberry-pi-industrial.adoc
index b9c4d4ac56..85dc1ee531 100644
--- a/documentation/asciidoc/computers/raspberry-pi/raspberry-pi-industrial.adoc
+++ b/documentation/asciidoc/computers/raspberry-pi/raspberry-pi-industrial.adoc
@@ -157,7 +157,7 @@ Example...
vcmailbox 0x00038082 6 6 0x44332211 0x6655
----
-If a customer MAC address is set to ff:ff:ff:ff:ff:ff, then it’s ignored.
+If a customer MAC address is set to ff:ff:ff:ff:ff:ff, then it's ignored.
=== Device-specific private key
diff --git a/documentation/asciidoc/microcontrollers/debug-probe/swd-connection.adoc b/documentation/asciidoc/microcontrollers/debug-probe/swd-connection.adoc
index e51ef08c72..f8842c0bd7 100644
--- a/documentation/asciidoc/microcontrollers/debug-probe/swd-connection.adoc
+++ b/documentation/asciidoc/microcontrollers/debug-probe/swd-connection.adoc
@@ -17,7 +17,7 @@ NOTE: When you use the Debug Probe to upload a binary the ELF version of the fil
=== Debugging with SWD
-It’ll also let you use `openocd` in server mode, and connect GDB, which gives you break points and “proper” debugging.
+It'll also let you use `openocd` in server mode, and connect GDB, which gives you break points and "proper" debugging.
[IMPORTANT]
======
diff --git a/documentation/asciidoc/microcontrollers/micropython/drag-and-drop.adoc b/documentation/asciidoc/microcontrollers/micropython/drag-and-drop.adoc
index 66983e482b..dd58a0ee0c 100644
--- a/documentation/asciidoc/microcontrollers/micropython/drag-and-drop.adoc
+++ b/documentation/asciidoc/microcontrollers/micropython/drag-and-drop.adoc
@@ -1,6 +1,6 @@
== Drag-and-Drop MicroPython
-You can program your Pico by connecting it to a computer via USB, then dragging and dropping a file onto it so we’ve put together a downloadable UF2 file to let you install MicroPython more easily.
+You can program your Pico by connecting it to a computer via USB, then dragging and dropping a file onto it so we've put together a downloadable UF2 file to let you install MicroPython more easily.
image::images/MicroPython-640x360-v2.gif[]
diff --git a/documentation/asciidoc/microcontrollers/micropython/micropython-documentation.adoc b/documentation/asciidoc/microcontrollers/micropython/micropython-documentation.adoc
index 7f603b3a04..b814ca2085 100644
--- a/documentation/asciidoc/microcontrollers/micropython/micropython-documentation.adoc
+++ b/documentation/asciidoc/microcontrollers/micropython/micropython-documentation.adoc
@@ -16,5 +16,5 @@ Check out https://store.rpipress.cc/collections/getting-started/products/get-sta
* Set up your Raspberry Pi Pico and start using it
* Start writing programs using MicroPython
* Control and sense electronic components
-* Discover how to use Pico’s unique Programmable IO
+* Discover how to use Pico's unique Programmable IO
* Make a reaction game, burglar alarm, temperature gauge, and more
diff --git a/documentation/asciidoc/microcontrollers/raspberry-pi-pico/about_pico.adoc b/documentation/asciidoc/microcontrollers/raspberry-pi-pico/about_pico.adoc
index 4fd2122397..ddb9a866f3 100644
--- a/documentation/asciidoc/microcontrollers/raspberry-pi-pico/about_pico.adoc
+++ b/documentation/asciidoc/microcontrollers/raspberry-pi-pico/about_pico.adoc
@@ -53,13 +53,13 @@ The antenna is an onboard antenna licensed from ABRACON (formerly ProAnt). The w
SPI to the xref:rp2040.adoc#welcome-to-rp2040[RP2040] microcontroller.
Due to pin limitations, some of the wireless interface pins are shared. The CLK is shared with VSYS monitor, so only
-when there isn’t an SPI transaction in progress can VSYS be read via the ADC. The Infineon CYW43439 DIN/DOUT and
-IRQ all share one pin on the RP2040. Only when an SPI transaction isn’t in progress is it suitable to check for IRQs. The
+when there isn't an SPI transaction in progress can VSYS be read via the ADC. The Infineon CYW43439 DIN/DOUT and
+IRQ all share one pin on the RP2040. Only when an SPI transaction isn't in progress is it suitable to check for IRQs. The
interface typically runs at 33MHz.
For best wireless performance, the antenna should be in free space. For instance, putting metal under or close by the
antenna can reduce its performance both in terms of gain and bandwidth. Adding grounded metal to the sides of the
-antenna can improve the antenna’s bandwidth.
+antenna can improve the antenna's bandwidth.
NOTE: The CYW43439 wireless chip is connected via SPI to the RP2040.The CYW43439 supports both 802.11 wireless and Bluetooth over this interface.
diff --git a/scripts/tests/fixtures/expected_adoc.adoc b/scripts/tests/fixtures/expected_adoc.adoc
index 44639d0008..ee97a998b5 100644
--- a/scripts/tests/fixtures/expected_adoc.adoc
+++ b/scripts/tests/fixtures/expected_adoc.adoc
@@ -139,7 +139,7 @@ static void DMA Controller API
-The RP2040 Direct Memory Access (DMA) master performs bulk data transfers on a processor’s behalf. This leaves processors free to attend to other tasks, or enter low-power sleep states. The data throughput of the DMA is also significantly higher than one of RP2040’s processors.
+The RP2040 Direct Memory Access (DMA) master performs bulk data transfers on a processor's behalf. This leaves processors free to attend to other tasks, or enter low-power sleep states. The data throughput of the DMA is also significantly higher than one of RP2040's processors.
The DMA can perform one read access and one write access, up to 32 bits in size, every clock cycle. There are 12 independent channels, which each supervise a sequence of bus transfers, usually in one of the following scenarios:
Memory to peripheral
@@ -2090,7 +2090,7 @@ dma_channel_claim_mask
Enable the Sniffer byte swap function.
Locally perform a byte reverse on the sniffed data, before feeding into checksum.
-Note that the sniff hardware is downstream of the DMA channel byteswap performed in the read master: if channel_config_set_bswap() and dma_sniffer_set_byte_swap_enabled() are both enabled, their effects cancel from the sniffer’s point of view.
+Note that the sniff hardware is downstream of the DMA channel byteswap performed in the read master: if channel_config_set_bswap() and dma_sniffer_set_byte_swap_enabled() are both enabled, their effects cancel from the sniffer's point of view.
Parameters
swap | Set true to enable byte swapping |
diff --git a/scripts/tests/fixtures/group__channel__config.html b/scripts/tests/fixtures/group__channel__config.html
index dfd558e7fe..b211287d5f 100644
--- a/scripts/tests/fixtures/group__channel__config.html
+++ b/scripts/tests/fixtures/group__channel__config.html
@@ -565,7 +565,7 @@