Cut the thick layer of fat and the skin from the ham and discard. Place the ham in a roasting pan. For easier cleanup, line the pan with aluminum foil, because the glaze will drip off and burn on the bottom of the pan. Roast the ham for 1 hour.
While the ham is roasting, make the glaze. Combine the orange juice and zest, brown sugar, liqueur, chile paste, and pepper in a large saucepan. Bring to a boil over high heat, then reduce the heat to medium and simmer the mixture until is reduced by about half and is as thick as maple syrup, about 35 minutes. Whisk in the espresso or espresso powder. You should have almost 2 cups of glaze. You are going to use half of this glaze to brush the ham while it is roasting and reserve the other half for brushing on the ham after it is sliced.
After the first hour of cooking, brush the ham with the glaze. Roast for another hour, brushing with the glaze every 15 minutes. Since the ham is already cooked, you just need to warm it all the way through. Check for an internal temperature of 130 to 140 degrees using an instant-read thermometer. Remove the ham from the oven when it is nicely browned and warmed through.
To serve: We like to serve this with warm cornbread. For a lovely presentation, slice half the ham and arrange the slices up against the unsliced part on a big platter. Brush the slices with the remaining glaze.
Cook's Note: The glaze can be made a few days ahead and stored, tightly covered, in the refrigerator.
To make the cornbread, preheat the oven to 425 degrees F. Butter an 8-inch square baking dish.
Combine the flour, cornmeal, cheese, baking powder, and salt in a large bowl.
In a mixing bowl, whisk together the eggs, milk, and honey. Add the wet ingredients to the dry ingredients, stirring until just combined. Add the melted butter and stir into the mixture. Pour into the prepared pan and bake until a toothpick comes out clean, 15 to 20 minutes.
Cook's Note: You can make the cornbread and store it in the freezer, covered tightly in plastic wrap, for a few weeks.