Trim the excess fat from the chicken. In a casserole, toss the chicken with the garlic, salt, 1 teaspoon black pepper, ginger, saffron, turmeric, oil, cilantro and onion. Cover with 1 cup water and bring to a boil. Reduce the heat. Cover and simmer over moderate heat for 35, turning the pieces of meat often in the sauce and adding water whenever necessary.
Prepare the artichokes by removing the outside leaves and trimming the bases. Halve each one and remove the choke. Place in a large bowl of cold water with juice of 1/2 lemon. Rinse and drain before using.
After 35 minutes, place the artichokes and preserved lemons on top. Cover and simmer slowly until the artichokes are tender, 30 minutes. Sprinkle with lemon juice and olives and simmer 2 minutes.
To serve, place the chicken in the center of the dish and arrange the artichokes around the chicken. Increase the heat to high and simmer until the sauce thickens, 3 to 4 minutes. Season with salt and pepper. Pour the sauce over the chicken and garnish with cilantro sprigs.