Preheat the oven to 350°F (175°C). Line baking sheets with parchment paper.
In a mixing bowl, combine the flour, baking powder, and salt. Set aside.
In another bowl, cream the softened butter and granulated sugar using an electric mixer until light and fluffy.
Add the egg, vanilla extract, and almond extract (if using) to the butter mixture, and beat until well combined.
Gradually add the flour mixture to the wet ingredients, mixing just until combined. Do not overmix.
Divide the dough into two portions and wrap each in plastic wrap. Chill in the refrigerator for at least 30 minutes.
Once chilled, roll out one portion of dough on a lightly floured surface to about ¼ inch thickness. Use cookie cutters to cut out shapes and transfer them to the prepared baking sheets.
Bake in the preheated oven for 8-10 minutes, or until the edges are lightly golden. Remove from the oven and let cool completely on wire racks.
For the royal icing, mix the egg whites or meringue powder mixture with powdered sugar and vanilla extract in a clean mixing bowl. Beat on high speed until the icing forms stiff peaks.
Divide the icing into separate bowls if using food coloring, and tint as desired. Transfer the icing to piping bags for decorating.
Decorate the cooled cookies with royal icing, letting the icing dry completely.