This can be made by hand or machine, and can easily be altered for a hardback or paperback reader.
Step 1: Materials
About a yard of fabric. Really lightweight fabrics don't really work for this. I recommend medium to heavy cotton or a light canvas. You can use something like suede, but it makes the gathering step harder, and makes it necessary to use a machine.
Needle and thread (make sure your thread is strong)
Chalk, or something to mark the fabric with
About two bags of pillow stuffing (not pillow forms, don't confuse the two)
Optional bookmark or large clip, like the ones used for office supplies
Step 2: Preparing Your Squares
On the larger of the two squares, measure 6 inches in from the outside edges, and mark as shown in the pictures below. You'll end up with four rectangles. Then make four cuts, on each corner as shown below. Only cut along the line and 6 inches in. Please see the fourth picture for clarification, as this can be a little confusing.
I know the pictures below say 27in and 7in, I was wrong when I wrote those and made the correction later. Apologies.
Step 3: Making the Tubes
Step 4: Stuffing the Tubes
Step 5: Preparing the Pyramid
Sew a big X on your square so that when you stuff the pillow, it will become a pyramid and not just a big blob.
On each side of the smaller square, do a loose running stitch. Gather each side so that it is the length of one of the sides of the larger square. Your gathered square should fit into the larger one as shown before. Pin the gathered smaller square into the larger square with the tubes. Sew these together with small stitches close to the tubes. Leave an opening about the width of your hand on one of the sides so you can put the pillow stuffing in.
Step 6: Stuffing the Pyramid
Then sew the opening shut. This might be difficult because you stuffed the pillow so full, so take your time!
Step 7: Finishing Touches
You can add a bookmark at the top, or sew on a heavy duty clip to hold thick paperbacks in place.
Get creative, have fun, and happy mother's day!